[WordPress] ワードプレスのユーザーに基づいて異なるスタイル シートを適用する方法

スポンサーリンク

質問

ワードプレスを持っている自己一連の本についての余分なコンテンツのウェブサイトをホストします。近い将来に宣言するブック シリーズから彼/彼女が読んでいる – とながら、ちょうど楽しみのためであろう、私はこの考えを更に取ることができると思ったユーザーをお知らせしたい

です、ので、いくつかのコンテンツの汎用ページと見なされるかもしれないスポイラー彼らは本のいくつかを読んでいない場合 – ログインしているユーザーに基づいて異なるスタイル シートを適用したいスタイル シートはクラス”book3″またはそれ以降の任意の段落を自動的にスポイラー警告と隠し段落に変換するような方法で読み込まれます場合は、ユーザーが 2 本まで読み取り、ので。しかし、すでに 3 本を読んで ユーザー、異なるスタイル シートがロードされます。1 つは、それをしないし、ユーザーをさせるだろうことは通常、コンテンツを参照してください

私はこれを数えることもできます、javascript が、しかし、CSS が容易になるだろうと仮定します?(javascript に関する jQuery の) を含むコースの両方の方法に基づいた答えのためになります

答え

javascript をせずにこれを達成できます

1 つの方法これを行うには、ユーザーが特定の本を読む場合、身体に追加クラスを追加するでしょう。たとえば、ユーザーが読んでいる場合予約 1 体に ‘ 読み取り-本-1′ のクラスを追加したいと思います。

body_class

フィルターを使用して、ワードプレスでこれを達成することができます

https://codex.wordpress.org/Plugin_API/Filter_Reference/body_class

ここはストリップがダウンしている例:

add_filter('body_class', function($classes) {
    if(/* if user has read book 1 */) {
        $classes[] = 'read-book-1';
    }
    return $classes;
}

し、あなたのマークアップと仮定すると次のような:

<p class="spoiler book-1">...</p>

ユーザーは本 1 を読んだ場合はスポイラー スタイルをオーバーライドことができます:

p.spoiler {
    visibility:hidden;
}

.read-book-1 p.spoiler.book-1 {
    visibility:visible;
}

私ちょうどスポイラー テキストを非表示にする

visiblity:hidden;

を使用している想定しています注意してください。これを行うに以上 1 つの方法がある

http://stackoverflow.com/questions/29200406/how-to-apply-different-stylesheets-based-on-user-on-wordpress

スポンサーリンク

Leave a Reply