获取由<h1>而不是<p>括起来的内容(_C)

时间:2018-05-20 作者:user1702965

我希望在特定页面上使用\\u content(),但我希望它周围有<h1> 而不是<p>.

我尝试过这样做:

$thisPagesContent = the_content();
echo \'<h1\' . $thisPagesContent . \'</h1>\';
这是可行的,但它会剥离<br> 我在内容中的标记。

有什么办法吗?

谢谢

1 个回复
SO网友:Iceable

首先,您应该使用get_the_content() 将内容分配给变量(而不是the_content() 这意味着要显示它而不是返回它)。

然后您将要应用连接到的筛选器\'the_content\' 就像the_content() 是否(请参见source).

以下是原始代码的修订版本:

$thisPagesContent = get_the_content();
$thisPagesContent = apply_filters( \'the_content\', $thisPagesContent );
$thisPagesContent = str_replace( \']]>\', \']]&gt;\', $thisPagesContent );
echo \'<h1>\' . $thisPagesContent . \'</h1>\';
另一种方法是在functions.php 您的主题或子主题的文件或插件中的文件,并将其挂接到\'the_content\', 使用条件,使其仅适用于目标页。在上述页面上,您只需打电话the_content() 正常情况下,将应用过滤器。这种方法可以更巧妙地将内容操作和表示分离开来。

示例:

function wpst_304021_wrap_content_in_h1( $content ) {

    if ( is_page( \'123\' ) ) { // Assuming your "target" page\'s ID is \'123\', you can also use the page\'s title or slug or another conditional altogether.
        return \'<h1>\' . $content . \'</h1>\';
    }

   return $content;
}
add_filter(\'the_content\', \'wpst_304021_wrap_content_in_h1\');
顺便说一句,我真的希望你有一个有充分理由这样做的特定用例,因为在大多数情况下,将一篇文章的全部内容包装在标题标签中是一个糟糕的想法。

结束

相关推荐

如何在不编辑php文件的情况下使页面只显示特定类别的帖子

有没有办法让页面只显示特定类别的帖子摘录列表,而不编辑Wordpress的php文件?我正在帮助那些以后无法编辑它并使其在Wordpress更新后正常工作的人,并希望确保它的简单性。首选插件。到目前为止还没有发现任何东西。