2

使用以下代码尝试将页面 slug 作为一个类添加到我的 body 标记中,但尚未成功,谁能告诉我如何实现这一目标?

在functions.php中添加PHP

function add_body_class( $classes )
{
    global $post;
    if ( isset( $post ) ) {
        $classes[] = $post->post_type . '-' . $post->post_name;
    }
    return $classes;
}
add_filter( 'body_class', 'add_body_class' );
4

3 回答 3

2

您可以尝试将以下内容添加到您的functions.php

function page_bodyclass() {  // add class to <body> tag
    global $wp_query;
    $page = '';
    if (is_front_page() ) {
           $page = 'home'; // If it's your Front page, apply 'home' as classs
    } elseif (is_page()) {
       $page = $wp_query->query_vars["pagename"]; // Otherwise use pagename
    }
    if ($page)
        echo 'class= "'. $page. '"';
}

然后将您的<body>标签更改为<body <?php page_bodyclass(); ?>>.

于 2012-06-27T18:43:14.253 回答
0

作为已接受答案的替代方法,请在标题(通常header.php)中找到具有以下内容的行:

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

并将其更改为:

<body <?php body_class($post->post_type . '-' . $post->post_name); ?>>
于 2013-01-03T21:22:25.303 回答
0

我正在使用这个

<?php body_class(strtolower(get_the_title())); ?>
于 2016-02-24T15:38:15.433 回答