如何在 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.php 的 html 中,最好的方法是在 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 上传图片