0

テンプレートの「現在の」クラスを使用して、自分が存在するカテゴリを強調表示する方法に興味があります。問題は、カテゴリのリストがデータベースWordPressから取得されないという事実(私が理解しているように、それらが保存されているのと同じ場所ですか?)、つまりHTMLから直接取得されないという事実によって悪化します...次のコードを作成する方法:

コード:

<ul>
    <li class="blabla">
        <a>1</a>
    </li>
    <li class="blabla">
        <a>2</a>
    </li>
    <li class="blabla">
        <a>3</a>
    </li>
</ul>

動的になるコード。たとえば、「2」から「li」のカテゴリに入ると、クラス「current」に追加されます。

コード:

<ul>
    <li class="blabla">
        <a>1</a>
    </li>
    <li class="blabla current">
        <a>2</a>
    </li>
    <li class="blabla">
        <a>3</a>
    </li>
</ul>

私はコーデックスを読み込もうとしましたが、2つの問題があります-私はPHPが苦手で、最も重要なのは英語で読むのが難しいことです

「あれ」という質問で英語が壊れてしまったことを心からお詫び申し上げます。

4

2 に答える 2

2

あなたの質問を理解できるかどうかはわかりませんが、あなたの言ったことに基づいて、cssを使用できます。

/* This will highlight your menu item gray if it has current in its class attribute*/
.current {
    background:#555;
}

カテゴリのメニューだけが必要な場合は、Wordpressカテゴリウィジェットを使用できます。すべてのカテゴリのリストを含むメニューを作成します。カテゴリをクリックすると、current-catのクラスが表示されます。これは、カテゴリフィルタリストビューを表示しているときにのみ発生するため、そのカテゴリの投稿をクリックしても、「current-cat」とは表示されません。

より専門的なものが必要な場合でも、それは可能です。カテゴリウィジェットが機能しないかどうか教えてください。


ウィジェットを使用したくない場合は、phpでこれを行う方法を次に示します。それは基本的に同じことをしますが、あなたはそれを置きたいところにより多くの自由を持っています。

これはリファレンスページです:http://codex.wordpress.org/Template_Tags/wp_list_categories

基本的に必要なのはその関数だけです。カテゴリを表示する場所にこのコードスニペットを配置するだけです。

<?php echo wp_list_categories() ?> 

これで、すべてのカテゴリの基本的なhtmlリストが作成されます。カテゴリアーカイブビューを表示している場合は、current-catクラスも設定されます。

上記の現在のカテゴリの動作を上書きする場合は、選択したカテゴリのIDに基づいて、メニューに現在のカテゴリを強制的に選択させることもできます。したがって、この例では、current-catクラスをID3のカテゴリに追加します。

<?php echo wp_list_categories(array('current_category' => 3)) ?>
于 2012-04-08T16:43:25.203 に答える
0
/* this is working #747474:gray*/

.current {
    background:#747474;
}
于 2021-06-02T17:56:07.607 に答える