如果我理解正确,如果您在类别“store”中创建新帖子,您需要一些默认内容。
尝试使用the_content()
此处筛选:
add_filter( \'the_content\', \'add_default_content\' );
function add_default_content( $content ) {
//run only when we are in the category "store"
//could also be "coupons"
if ( in_category(\'store\') ) {
//define your default text here
$default = \'My default content is here.\';
// this will display the new default content first,
// after that the normal post-content you entered in the post-editor will be shown
$content = $default . $content;
}//END if is category
return $content;
}
这将检查当前职位是否属于该类别。
看看这条线$content = $default . $content;
此行将首先显示新的默认内容($default
) 之后,它将显示post editor内容($content
).
如果您没有在帖子编辑器中输入任何内容,则只会显示默认文本。
您也可以重新排列此行:$content = $content . $default;
在这种情况下,将首先显示post editor内容,然后显示默认文本。
因此,您可以创建两个函数,一个用于post editor之前的内容,另一个用于post editor之后的内容。
<小时>
Update:
@萨米,好的,我刚看了你的网站。似乎您使用的主题来自
http://www.premiumpress.com.
我上面发布的代码适用于普通帖子类别,如果您使用的是自定义类型、分类法和术语,请尝试以下操作:
if ( has_term(\'term-slug\', \'taxonomy-slug\') ) { ... }
<小时>
Update 2:
你说过
\'store\'
是一种分类法,所以我刚刚测试了这个:
我创建了一个名为\'store\'
并在分类法中添加了一些术语。我编辑了一些帖子,并在这些帖子中添加了一些新的商店分类术语。
我将此代码添加到functions.php
:
add_filter( \'the_content\', \'add_default_content\' );
function add_default_content( $content ) {
// only show the default content if the post is in taxonomy \'store\'
// true if the current post has any of the given terms (or any term, if no term is specified)
// we leave \'term\' empty, we just specify the taxonomy
if ( has_term( \'\', \'store\' ) ) {
//define your default text here
$default = \'This is the default content.\';
// this will display the new default content first,
// after that the normal post-content you entered in the post-editor will be shown
$content = $default . $content;
}//END if has_term
return $content;
}
之后,我看到新内容“这是默认内容。”,仅在使用
\'store\'
分类学无论添加了哪个术语。
正如您在codex, 如果我们没有指定任何术语has_term()
函数将检查帖子是否有任何分类术语。所以has_term()
返回true。