在何处使用post_class()
你几乎可以在任何地方使用它(在WordPress中),例如单篇文章页面(single.php
, single-my_cpt.php
, 等),搜索结果页(search.php
), 索引模板(index.php
), 模板部件(例如。content.php
), 和一个短代码函数。
可以使用post_class()
用于添加自定义类?
是的,是的。post_class()
不限于WordPress默认类。
例如,post_class( \'my-class\' )
除非有代码filters the classes 然后删除my-class
从列表中。
它适用于所有其他文件,如关于页面、联系人页面
限制它(您的自定义CSS类)仅应用于某些页面是您的任务,WordPress不会自动为您应用该限制。
但是WordPress提供了各种conditional tags 喜欢is_page()
只能在某些页面上添加CSS类,因此只需使用相关的条件标记post_class()
.
例如,要添加my-class
仅在页面上(发布page
类型)带缓动阀about
:
<div <?php post_class( is_page( \'about\' ) ? \'my-class\' : \'\' ); ?>>
your code
</div>
<!-- or maybe like so: -->
<?php
// foo-bar would always be in the list
$classes = [ \'foo-bar\' ];
if ( is_page( \'about\' ) ) {
$classes[] = \'my-class\';
}
?>
<div <?php post_class( $classes ); ?>>
your code
</div>
请注意
post_class()
默认情况下,在当前WordPress查询中使用当前帖子,即全局
$post
变量,因此如果要输出特定帖子的类,请将帖子ID(或对象)传递给
post_class()
:
// 123 (2nd parameter for post_class()) is the post ID
<div <?php post_class( \'my-custom-class\', 123 ); ?>>
your code
</div>