我需要将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() ) ),