根据类别添加自定义内容以发布

时间:2019-09-20 11:41:52

标签: php wordpress wordpress-theming custom-wordpress-pages

我想根据类别在主要帖子内容之前添加自定义内容。

我尝试过并且实际上有效的方法是在第二段中插入自定义代码:

add_filter('the_content', 'mte_add_incontent_ad');
function mte_add_incontent_ad($content)
{   if(is_single()){
        $content_block = explode('<p>',$content);
        if(!empty($content_block[1]))
        {   $content_block[1] .= 'My custom text here!';
        }
        for($i=1;$i<count($content_block);$i++)
        {   $content_block[$i] = $content_block[$i];
        }
        $content = implode('',$content_block);
    }
    return $content;    
}

我找到了一种简单的解决方案,可以将自定义文本放在特定的类别中,但似乎不起作用:

if ( in_category('my-category-1-slug') ) { 
 echo '<p>
custom text to insert
</p>';
 }
if ( in_category('my-category-2-slug') ) { 
 echo '<p>
custom text to insert
</p>';
 }

最终结果应该是这样的:

帖子标题

类别1的自定义帖子内容。 原始帖子内容。


帖子标题

类别2的自定义帖子内容。 原始帖子内容。

提前谢谢!

1 个答案:

答案 0 :(得分:0)

我想出了这个解决方案:

add_filter('the_content', 'mte_add_incontent_ad');
function mte_add_incontent_ad($content)
{   if( is_category(1) ){
        $content_block = explode('<p>',$content);
        if(!empty($content_block[1]))
        {   $content_block[1] .= 'My custom text for category 1';
        }
        for($i=1;$i<count($content_block);$i++)
        {   $content_block[$i] = $content_block[$i];
        }
        $content = implode('',$content_block);
    }
    return $content;    
}