如何在 WordPress 中通过模板为 HTML 标签动态添加类

Posted

技术标签:

【中文标题】如何在 WordPress 中通过模板为 HTML 标签动态添加类【英文标题】:How to Dynamically Add a Class to HTML Tag by Template in WordPress 【发布时间】:2019-10-31 03:30:21 【问题描述】:

我想将背景图片添加到默认 page.phphtml 中,最好的方法是在 HTML 标记上设置一个类,以便我可以在 css 中定位它,所以理想情况下我想说“如果是这个页面模板,在HTML标签中添加一个'header-default'类"

我已经尝试过研究,我得到了类似这样的东西,但确实需要一些特定的方向:

function is_page_template( $template = 'page.php' ) 

    if ( is_page_template( $template ) ) 
        if ( ( in_array( 'default', $template, true ) && ! $page_template )
            'html' => 'page--header__default',
        ) 
            return true;
        
    

    return ( 'default' === $template && ! $page_template );

我收到一个错误,指出 js 的语法错误不是我的强项,所以我不知道问题是什么。

【问题讨论】:

这不是 JS,这是 PHP。 Wordpress 是用 PHP 编写的(有些人会说不完全是 :))。如果您看到$variable(变量前的 $ 符号),那么它是 PHP(或一些 jQuery 的东西,如果您使用 Wordpress,至少)。 【参考方案1】:

您不必将类添加到 HTML 标记。您需要将其添加到正文中。 WordPress 已经有一个过滤器可以让您设置自定义类,请查看以下示例:

add_filter( 'body_class', 'custom_class' );
function custom_class( $classes ) 
    if ( is_page_template( 'page-example.php' ) ) 
        $classes[] = 'example';
    
    return $classes;

来源:https://developer.wordpress.org/reference/functions/body_class/#comment-1846

【讨论】:

以上是关于如何在 WordPress 中通过模板为 HTML 标签动态添加类的主要内容,如果未能解决你的问题,请参考以下文章

如何在 wordpress 中通过 jQuery/Ajax 上传图片

如何在 Vue2 中通过 HTML 运行组件的方法

如何在 django 模板中通过模型名获取模型

在 Wordpress 中通过 CSS 将徽标居中

在wordpress中通过ip地址区分不同国家的用户并重定向他们到不同的...

SSL 证书在 WordPress 更新中通过纯 HTTP(非 SSL)验证失败