这个WordPress主题中的body标签在哪里


Where is the body tag in this WordPress theme?

我需要将ID"skrollr body"添加到我网站的body标签中,但我在任何地方都找不到打开的body标签。我知道这是一个非常简单的更改,但网站不是我的,目录结构非常混乱,他要求我解决网站不能在手机/平板电脑上滚动的问题(这是因为body标签没有ID"skrollr body")。

主题继承自Genesis,在header.php中我发现了这个主题,它确实提到了body标记,我能在这个代码片段中添加一个ID吗?-

genesis_markup( array(
    'html5'   => '<body %s>',
    'xhtml'   => sprintf( '<body class="%s">', implode( ' ', get_body_class() ) ),
    'context' => 'body',
) );

此外,主题中的header.php本身与打开的body标签无关:

<div class="one-third first">
    <a href="">
        <img src="" />
        <img src="" />
    </a>
</div>
<div class="two-thirds">
    <div>
        <p></p>
    </div>
    <div id="callus">
        <a href=""></a>
    </div>
</div>

任何帮助都将不胜感激,如果这是一个静态网站,而不是一个带有CMS的动态网站,这将是最容易的更改,但这个WordPress目录太乱了,组织混乱,我根本找不到标签。

我几乎想过实现一些jQuery来修改标记,但对于这样一个简单的更改来说,这似乎有点过头了。

干杯。

看起来您的主题有点混乱——在Genesis Framework的子主题中很少找到(或需要)header.php。

添加<body>属性的正确方法是使用Genesis提供的过滤器:

add_filter( 'genesis_attr_body', 'so3707332_attributes_body' );
/**
 * Add ID attribute to body element.
 *
 * @param array $attributes Existing attributes.
 *
 * @return array Amended attributes.
 */
function so3707332_attributes_body( $attributes ) {
    $attributes['id'] = 'skrollr-body';
    return $attributes;
}

试试这个:

genesis_markup( array(
    'html5'   => '<body %s>',
    'xhtml'   => sprintf( '<body id="skrollr-body" class="%s">', implode( ' ', get_body_class() ) ),
    'context' => 'body',
) );

或者用这个:

genesis_markup( array(
    'html5'   => '<body id="skrollr-body" %s>',
    'xhtml'   => sprintf( '<body id="skrollr-body" class="%s">', implode( ' ', get_body_class() ) ),
    'context' => 'body',
) );

只需在主题的header.php文件中找到body标记。。替换此:

genesis_markup( array(
    'html5'   => '<body %s>',
    'xhtml'   => sprintf( '<body class="%s">', implode( ' ', get_body_class() ) ),
    'context' => 'body',
) );

带有:

genesis_markup( array(
    'html5'   => '<body %s>',
    'xhtml'   => sprintf( '<body class="%s">', implode( ' ', get_body_class('classname') ) ),
    'context' => 'body',
) );

如果有效,请回复。

祝你好运。

您应该能够将ID添加到sprintf语句中。

'xhtml'   => sprintf( '<body id="skrollr-body" class="%s">', implode( ' ', get_body_class() ) ),