如何让NAV在常规帖子(不是博客)上显示CURRENT_PAGE_PARENT类,按类别区分

时间:2014-10-20 作者:plushjudy

为了在查看单篇文章(非博客)时突出显示菜单项,我试图为不同类别的单篇(常规,非自定义)文章添加特殊类。这是基本代码:

function my_special_nav_class( $classes, $item ) {
  if ( is_single() &&  (in_category(\'workshops\') ) {
    $classes[] = \'special-class\';
  }
  return $classes;
}
add_filter( \'nav_menu_css_class\', \'my_special_nav_class\', 10, 2 );
它不起作用。(is\\U类别(‘workshops’)的说法不太正确。仅当

      if ( is_single() ) {
请更正!非常感谢。

2 个回复
SO网友:plushjudy

我发现正确的语法是:

    if ( is_single() && in_category ( \'5\' )  ) {
但是,我使用以下代码解决了问题:

//add category classes to single.php
add_filter(\'body_class\',\'add_category_to_single\');
function add_category_to_single($classes, $class) {
    if (is_single() ) {
        global $post;
        foreach((get_the_category($post->ID)) as $category) {
            // add category slug to the $classes array
            $classes[] = $category->category_nicename;
        }
    }
    // return the $classes array
    return $classes;
}
(或者您可以尝试使用以下插件:https://wordpress.org/plugins/ambrosite-body-class-enhanced/). 从那里,您可以使用css进行样式设置。

SO网友:iyrin

使用in_category( $category )is_category( $category ) 在条件语句中。

in_category( $category ) - 检查当前页面是否与类别关联。

is_category( $category ) - 检查当前存档是否与类别关联。

示例:
if ( in_category( \'workshops\' ) || is_category( \'workshops\' ) ) {

请参见:
Function Reference/in category « WordPress Codex
Function Reference/is category « WordPress Codex

结束

相关推荐

在unctions.php中添加一个变量,并在single.php中调用它

我是PHP新手,正在构建WordPress主题。我想在函数中添加一个变量。php,并在单个中使用它。php作为if语句。目前,我单身。php有以下代码-<?php $prevPost = get_previous_post(); $prevthumbnail = get_the_post_thumbnail($prevPost->ID, \'keepreading-thumb\'); if ( $prevPost ) : ?>