首页 > 解决方案 > 根据类别添加自定义内容到帖子

问题描述

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

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

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 的自定义帖子内容。原始帖子内容。

先感谢您!

标签: phpwordpresswordpress-themingcustom-wordpress-pages

解决方案


我想出了这个解决方案:

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;    
}

推荐阅读