将默认内容添加到帖子(针对特定类别)

时间:2012-10-16 作者:speedypancake

我试图在我的函数中使用此代码向帖子添加一些默认内容。php:

add_filter( \'default_content\', \'my_editor_content\' );
function my_editor_content( $content ) {
$content = "My html content.";
return $content;
}
它工作得很好,但我只想将内容添加到某些类别。这很棘手,因为创建新帖子时会添加默认内容(因此没有类别)。我遵循以下思路:Force category choice before creating new post?作者想出了一种方法,在wp创建新帖子之前,强制您选择一个类别,但我不知道如何编辑默认内容代码,所以它只适用于某些类别?

3 个回复
SO网友:s_ha_dum

default_content 实际上,在将帖子加载到编辑器中时运行。您可以在保存帖子时检查类别,但您希望save_post 可能是胡克。您要检查$_REQUEST 全球的

add_filter( \'default_content\', \'my_editor_content\' );
function my_editor_content( $content ) {
  global $_REQUEST;
  if (isset($_REQUEST[\'post_category\']) && in_array($some_category_id,$_REQUEST[\'post_category\'])) {
    $content = "My html content.";
  }
  return $content;
}
。。。假设没有语法错误。:)

您可能还想检查post_content 为空,仅插入为空。

SO网友:Tomi Toivio

您可以使用the_content 将内容添加到类别的筛选器:

function my_category_content ( $content ) {
    global $post;
    if ( is_single() ) {
        if ( in_category( "My Category", $post->ID ) ) {
            $content .= \'Add something\';
        }
        return $content;
    } 
} 
add_filter( \'the_content\', \'my_category_content\' );
不过,此示例将仅在单个帖子上显示添加的内容。

SO网友:T.Todua

1) 如果要在POST EDITOR中使用默认文本,请使用@Milo\'s答案。

2) 如果希望在post的前端输出中添加默认内容,请使用以下代码(在functions.php中):

function add_before_content($content) { global $post;
  if ( \'page\' == $post->post_type ) {return \'YOUR MESSAGE\'.$content;}
  if ( \'post\' == $post->post_type ) {return \'YOUR MESSAGE\'.$content;}
  //etc..........
}
add_filter(\'the_content\', add_before_content);

结束

相关推荐

limit posts per page

我正在处理类别。php。我让我的帖子返回我想要的方式,我正在按照我想要的方式获取子类别,但现在我正在尝试添加分页,并将帖子数量限制为3篇。当我运行测试时,第四条帖子出现在页面上。我原以为只有3个,分页在底部。我不知道怎么了。根据法典,这应该是可行的。 $allcats = get_categories(\'child_of=\'.get_query_var(\'cat\')); foreach ($allcats as $cat) : $args = array( \'cate