如何添加一个自定义类的元素在WordPress帖子使用WP挂钩通过片段?



我试图将单个类(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' );

相关内容

  • 没有找到相关文章

最新更新