Wordpress wp_list_categories,如何突出显示“所有类别”

Posted

技术标签:

【中文标题】Wordpress wp_list_categories,如何突出显示“所有类别”【英文标题】:Wordpress wp_list_categories, how to highlight the "All categories" 【发布时间】:2015-03-10 23:38:19 【问题描述】:

我已经使用 wp_list_categories 创建类别列表并设置 $args 如下以将类“current-cat”添加到当前类别项,一切正常,但是当我单击“所有类别”时,我无法突出显示列表菜单,因为“current-cat”类不适用于“所有类别”项。

如何将 current-cat 类应用于“所有类别”?

我的设置

<ul>
    <?php 
        $args = array(
        'show_option_all'    => 'All Categories',
        'orderby'            => 'id',
        'style'              => 'list',
        'use_desc_for_title' => 0,
        'hierarchical'       => 0,
        'title_li'           => '',
        'current_category'   => 0
        );
        wp_list_categories( $args ); 
    ?>  
</ul>

html 输出

所有类别 第一类 第二类 第三类 第四类

【问题讨论】:

这对你有用吗? 它不起作用,当我单击任何类别并且页面重新加载时没有任何变化。我想它可能适用于 Wordpress 的“walker”功能,但我不知道如何使用“walker”。 【参考方案1】:

如果您不回显结果,而是将它们存储在变量中,我们可以检查该类是否存在。如果不是,则意味着我们属于“所有”类别。

为了实现这一点,我做了以下事情:

$args = array(
    'show_option_all' => 'All',
    'title_li' => '',
    'echo' => false, // dont echo the results
    'taxonomy' => 'tribe_events_cat'
);

$categories = wp_list_categories($args); // store the results in a variable

if(strpos($categories,'current-cat') == false)  // check if the class exists
    // add the class to the All item if it doesn't exist
    $categories = str_replace('cat-item-all', 'cat-item-all current-cat', $categories);


echo $categories;

您必须更改 $args 以适合您的目的。

【讨论】:

以上是关于Wordpress wp_list_categories,如何突出显示“所有类别”的主要内容,如果未能解决你的问题,请参考以下文章

wordpress怎样安装主题

什么是WordPress?

wordpress是啥

如何安装Wordpress

如何进行wordpress的二次开发

wordpress怎样搭建网站