0

特定のページ リンクとそのすべての子ページ リンクを表示する、Wordpress を使用して生成しているリンク リストに問題があります。リンクにカーソルを合わせるとリンクが強調表示され、リンクをクリックしてページに移動すると、そのページのリンクが強調表示されたままになります。私はこれを主に使用して達成する方法を見つけました:

#sidebar a:hover{
    padding: 7px;
    background-color: #f7f9fe;
    color: #728186;
}
#sidebar ul > li .current_page_item{
    padding: 7px;
    background-color: #f7f9fe;
    color: #728186;
}

しかし、それでは親ページ/liを強調表示できません。私が使用する場合:

#sidebar li.current_page_item

子はそのページで強調表示されたままですが、親ページでは、それ自体だけでなく子項目も強調表示されます。

ここに私の解析されたphpがあります:

<ul id="sidebar" class="sidelist">
    <li class="pagenav"><h5>WHAT WE DO</h5>
        <ul>
            <li class="page_item page-item-39 current_page_item"><a href="http://www.autismrecoveryfoundation.org/meet-the-board" title="Meet the Board">Meet the Board</a>
            <ul class='children'>
                <li class="page_item page-item-84"><a href="http://www.autismrecoveryfoundation.org/meet-the-board/being-a-board-member-101" title="Being A Board Member 101">Being A Board Member 101</a></li>
            </ul>
            </li>
        </ul>
    </li>   
</ul>

wp リスト ページに関する Wordpress ページ (http://codex.wordpress.org/Function_Reference/wp_list_pages) から使用しているテンプレート タグを次に示します。

<?php 
            // use wp_list_pages to display parent and all child pages all generations (a tree with parent)
            $parent = 39;
            $args=array(
             'title_li' => '',
             'child_of' => $parent
            );
            $pages = get_pages($args);  
            if ($pages) {
              $pageids = array();
              foreach ($pages as $page) {
                $pageids[]= $page->ID;
              }

              $args=array(
                'title_li' => '<h5>WHAT WE DO</h5>',
                'include' =>  $parent . ',' . implode(",", $pageids)
              );
              wp_list_pages($args);
            }
        ?>
4

1 に答える 1

1

アップデート

ページのリストをフラット リストで表示するには、depth-1 に設定します。

$args=array(
  'depth' => -1,
  'title_li' => '<h5>WHAT WE DO</h5>',
  'include' =>  $parent . ',' . implode(",", $pageids)
);

そうすれば、子セレクターをいじる必要がなくなり、サブページがメイン ページに含まれなくなりますli


古い答え

問題はこのセレクタにあります:

#sidebar ul > li .current_page_item

パーツはから派生したものを探しています#sidebar ulが、コードでは. また、見出しを含む の中にあるものが見つかりますul#sidebarul #sidebarli .current_page_item .current_page_itemli

セレクターを次のように変更します。

#sidebar > li > ul > .current_page_item

ページウィジェットには独自のクラスがあるため、これを使用することもできます。

.pagenav > ul > .current_page_item
于 2011-01-23T13:45:14.923 に答える