如何向<html>元素添加类?

时间:2018-10-10 作者:Matthew Johnston

我在Wordpress中使用X主题,遇到了一个问题,我需要在<html> 标记,但仅在一页上。这是我添加到子主题头文件中的代码:

<!-- If page#=103, add this class -->
<?php
    if( is_page( 103 ) ) {
        ?>
        <html class="html-homepage">
        <?php
    }
?>
代码进入了\\u标头。php文件,似乎没有任何问题。

我的问题是,这种方法是否会破坏任何东西,或者这是一种超级黑客的方法?我无法找到另一种对我有效的解决方案。

看起来既然Wordpress正在进行处理,应该可以,但我想确保这不会干扰Wordpress的其他功能。

谢谢

Edit: 我添加的代码在子主题文件中,而不是Wordpress核心文件中。

2 个回复
最合适的回答,由SO网友:Liam Stewart 整理而成

下面是一种添加类的方法。代替blog 用这一页的鼻涕虫。示例-仅在上添加此类example.com/blog. 将此代码放入header.php

<?php if($post->post_name === \'blog\'){ ?>
    <html class="html-homepage">
<?php } else { ?>
    <html>
<?php ?>

SO网友:Rick Hellewell

我不确定将类分配给html标记是否“合法”(或有效)。Added 嗯,更多的研究表明,HTML标记可以具有样式或类之类的属性,因此可以这样做。只是不知道为什么要将样式添加到HTML标记而不是BODY标记。

Original Answer

我认为您需要为特定页面的“body”类添加一些内容。请参见此类似问题的答案:https://stackoverflow.com/questions/2466073/add-a-custom-class-name-to-wordpress-body-tag .

而且,人们通常不应该(或永远不应该)修改主题文件(或WP核心代码)。您应该使用子主题来调整主题操作。这样,您可以向子主题的函数添加过滤器。php文件,并且您所做的任何更改都不会被主题或WP更新覆盖。

使用上述相关问题中的解决方案假设主题正确使用了body\\u类函数。这也是为什么子主题是更好的解决方案的另一个原因-您可以确保主题将在页面输出中使用body\\u类函数。

结束