每个类别的身体类别不同

时间:2017-01-23 作者:arata

如何添加特殊类(如" japan japan_index" ) 适用于日本类别的车身等级。php和类别。php之类的" archive archive_index " 我还用这段代码把类别名称放在单条上。php和索引。php主体类

    // Adding categories name to body class
add_filter(\'body_class\',\'add_category_to_single\');
function add_category_to_single($classes) {
  if (is_single() ) {
    global $post;
    foreach((get_the_category($post->ID)) as $category) {
      // add category slug to the $classes array
      $classes[] = $category->category_nicename;
    }
  }
    else{
        $classes[] = \'index\';
    }
  // return the $classes array
  return $classes;
}

// Allowed classes
add_filter( \'body_class\', \'remove_some\', 10, 2 );
function remove_some( $wp_classes, $extra_classes ) {

    // List of the only WP generated classes allowed
    $whitelist = array( \'index\', \'japanese\', \'japan\', \'interviews\', \'travel\', \'reviews\', \'series\', \'archive\' );

    // Filter the body classes
    $wp_classes = array_intersect( $wp_classes, $whitelist );

    // Add the extra classes back untouched
    return array_merge( $wp_classes, (array) $extra_classes );
}

1 个回复
最合适的回答,由SO网友:Celso Bessa 整理而成

如果我理解你在寻找什么,这应该会起作用,它使用get_queried_object()功能:

// Adding categories name to body class on archives
add_filter(\'body_class\',\'add_category_to_body_class\');
function add_category_to_body_class( $classes ) {
    // check if in category
    if ( is_category() ) {
        // get the queried object, in this case, a category object, and assigns to a variable
        // see https://codex.wordpress.org/Function_Reference/get_queried_object
        $category_object = get_queried_object();
        // get the slug
        $classes[] = $category_object->slug;
        $classes[] = $category_object->slug . \'_index\';
    }
  // return the $classes array
  return $classes;
}
但您可以将其混合到单个功能中:

// Adding categories name to body class on archives
add_filter(\'body_class\',\'add_category_to_body_class\');
function add_category_to_body_class( $classes ) {
    if ( is_single() ) {
        global $post;
        // assigns post it to variable to avoid reading an array for every loop iteration
        // maybe a micro optmization? Guilty as charged!
        $post_id = $post->ID;
        foreach( ( get_the_category( $post_id ) ) as $category ) {
            // add category slug to the $classes array
            $classes[] = $category->category_nicename;
            $classes[] = $category->category_nicename . \'_index\';
        }
    }
    // check if in category
    else if ( is_category() ) {
        // get the queried object, in this case, a category object, and assigns to a variable
        // see https://codex.wordpress.org/Function_Reference/get_queried_object
        $category_object = get_queried_object();
        // get the slug
        $classes[] = $category_object->slug;
        $classes[] = $category_object->slug . \'_index\';
    }
    else {
        $classes[] = \'index\';
    }
    // return the $classes array
    return $classes;
}
我希望这有帮助。

相关推荐

Div-Wrap with Functions.php in ChildTheme Using Shorcode!

我只想为一个简单样式的DIV包装器创建一个短代码。在WordPress的网站上,我想添加如下内容:[quotehead]Headline text[/quotehead] ...a normal blockquote from wordpress... 输出应为:<div class=\"block_header\">Headline text</div> 我的内部功能functions.php (在childtheme中)包含以下内容:/**