2

次のコードを使用して、ページ スラッグをクラスとして 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 に答える