簡體   English   中英

WordPress-僅顯示訪問類別的子級

[英]WordPress - Show children of the visited category only

我已經使用wp_list_categories()創建了一個菜單,但它顯示的類別及其所有子項均可見。 我的客戶希望我讓它僅顯示當前類別的子級。

假設我們有一個類別樹:

第一類

第二類

第三類

如果有人單擊第一個類別,則該類別的子項應可見:

第一類

  • child1
  • 的child2
  • child3

第二類

第三類

當他單擊子類別(例如child1)時,其外觀應如下所示:

第一類

  • child1
    • child1的child1
    • child1的child2
  • 的child2
  • child3

第二類

第三類

最后,例如,當他單擊例如child1的child2時:

第一類

  • child1
    • child1的child1
    • child1的child2
      • child1的child2的child1
  • 的child2
  • child3

第二類

第三類

因此,例如,如果他處於3個類別的深度,則同一級別上的所有其他類別都應該使其子代不可見。 一旦他選擇了一個子類別,它就應該顯示它的子類別。

這簡直讓我震驚,我不知道如何使用jQuery / css做到這一點。 WordPress類在這里似乎沒用。 你能幫我嗎? 如果可以使用該wp_list_categories()函數的基本WordPress參數完成此操作,那就太好了:

$args = array(
'show_option_all'    => '',
'orderby'            => 'name',
'order'              => 'ASC',
'style'              => 'list',
'show_count'         => 0,
'hide_empty'         => 0,
'use_desc_for_title' => 1,
'child_of'           => 0,
'feed'               => '',
'feed_type'          => '',
'feed_image'         => '',
'exclude'            => '',
'exclude_tree'       => '',
'include'            => '',
'hierarchical'       => 1,
'title_li'           => __( '' ),
'show_option_none'   => __( 'No categories' ),
'number'             => null,
'echo'               => 1,
'depth'              => 0,
'current_category'   => 0,
'pad_counts'         => 0,
'taxonomy'           => 'category',
'walker'             => null
);
wp_list_categories( $args ); 
li.categories .children
{
  display: none;
}
li.categories .current-cat > .children,
li.categories li.current-cat-ancestor > .children
{
  display: list-item;
}

這應該足夠了。 :)

在第3級之后,由於WordPress錯誤,您可能還需要jQuery ...

jQuery(function($) {
  $('.current-cat').parents('.cat-item').addClass('current-cat-ancestor');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM