Wordpress类别/发布颜色菜单

时间:2016-12-02 13:23:19

标签: php css wordpress

你能告诉我你如何制作wordpress类别和不同颜色的帖子吗? 我想成为不同颜色的唯一菜单以及项目的类别! 一个例子: 在这里查看这个网站,你喜欢在我们发布类别时更改颜色设置。

1 个答案:

答案 0 :(得分:2)

很多都取决于你的主题设置方式,但这里有一个总体概述:

1。确保您使用的是body_class()功能

检查主题header.php并确保body标记类似于:

<body <?php body_class(); ?>>

这会自动为您的body标签添加一堆类,包括根据您正在查看的类别存档页面的类。

2。使用过滤器将类别类添加到单个帖子

将以下函数插入主题的functions.php文件中:

function my_body_class_add_categories( $classes ) {

    // Only proceed if we're on a single post page
    if ( !is_single() )
    return $classes;

    // Get the categories that are assigned to this post
    $post_categories = get_the_category();

    // Loop over each category in the $categories array
    foreach( $post_categories as $current_category ) {

        // Add the current category's slug to the $body_classes array
        $classes[] = 'category-' . $current_category->slug;

    }

    // Finally, return the $body_classes array
    return $classes;
}
add_filter( 'body_class', 'my_body_class_add_categories' );

这也会将类别类添加到单个帖子中。

3。添加页面类

还可以过滤body_class()函数以添加页面slugs的类。将以下内容添加到functions.php

function my_body_class_add_page_slug( $classes ) {

    global $post;

    if ( isset( $post ) ) {
        $classes[] = $post->post_type . '-' . $post->post_name;
    }

    return $classes;

   }
   add_filter( 'body_class', 'my_body_class_add_page_slug' );

这会将类page-title添加到正文中。

4。你喜欢的风格

这将根据您的主题标记而有所不同,但它会

.td-header-main-menu {
    background: blue; // The fallback colour for all pages
}

.category-showbiz .td-header-main-menu {
    background: red;
}

.category-sport .td-header-main-menu {
    background: yellow;
}

.category-shendetsi .td-header-main-menu,
.page-shendetsi .td-header-main-menu {
    background: green;
}

结论

这应该给你一般的想法;我们无法在不查看网站本身或知道您正在使用的主题的情况下向您提供更具体的说明。