在内容中第一个h3之后插入sometext

时间:2017-12-13 作者:ZgrKARALAR

我试图在wordpress页面上更改一些内容。我总是用h3标签写contect,但每个帖子都有3次3h。

我想在第一个h3标记后添加一些文本。

function add_content_after_h3($content){
    if (is_single()) {
        $div = \'<div>sometext</div>\';
        $content = preg_replace(\'/(<\\/h3>)/i\', \'\\1\'.$div, $content);
    }

    return $content[0];
}

add_filter(\'the_content\', \'add_content_after_h3\');
但此代码不起作用:(

1 个回复
最合适的回答,由SO网友:David Sword 整理而成

票据返回$content[0]; 什么时候!is_single() 您将得到不存在的错误。

您可以通过以下方式实现您的目标:

add_filter(\'the_content\', function ($content){
    if (!is_single()) return $content;
    $div = "";
    return preg_replace(\'/<\\/h3>/i\', "</h3>".$div, $content, 1);
});
注意第三个参数preg_replace() 是限制,设置为1 将替换限制为第一个匹配项。

结束

相关推荐

Append class to posts page

我正在尝试为博客/帖子页面设计一些独特的风格,而这并不在首页上。当前的body标记如下所示:<body <?php body_class() ?>><但是这样做<body <?php body_class(\'blog\') ?>> 仅返回<body class=\"logged-in\"> 或者只是<body> 如果我没有登录<我试过了:<body <?php if ( is_home()) {