我试图将单个类(my-class
)添加到WordPress帖子(LearnDash主题)中的元素。我发现它可以通过add_filter
使用钩子来完成,但我不知道怎么弄清楚。
我找到的样例代码如下:
add_filter( 'body_class', 'custom_body_class' );
/**
* Add custom field body class(es) to the body classes.
*
* It accepts values from a per-page custom field, and only outputs when viewing a singular static Page.
*
* @param array $classes Existing body classes.
* @return array Amended body classes.
*/
function custom_body_class( array $classes ) {
$new_class = is_page() ? get_post_meta( get_the_ID(), 'body_class', true ) : null;
if ( $new_class ) {
$classes[] = $new_class;
}
return $classes;
}
在这个示例代码中,类只添加到页面中,但我需要将它添加到"post "中。我试过is_post()
,但没有成功。我甚至在一个页面上尝试过,但也不起作用。
在我的情况下,我想添加一个类到ID为learndash-page-content
的元素。
现有代码:
<div id="learndash-page-content">...</div>
我在努力做什么:
<div id="learndash-page-content" class="my-class">...</div>
我需要做什么才能使它工作?
如果这确实是元素的语法,您可能希望尝试对输出进行字符串操作(您将像这样捕获它:)
function start_modify_html() {
ob_start();
}
function end_modify_html() {
$html = ob_get_clean();
$html = str_replace( '<div id="learndash-page-content">', '<div id="learndash-page-content" class="my-class">', $html );
echo $html;
}
add_action( 'wp_head', 'start_modify_html' );
add_action( 'wp_footer', 'end_modify_html' );