我终于得到了functions.php
插件,可以使用此功能将字符串附加到某个帖子类型的自定义帖子标题:
function append_album_review_to_title( $title ) {
global $post;
$text = 'Album Review: ';
if ( get_post_type( $post->ID ) == 'album_review' && in_the_loop() ){
return $text . $title;
}
else {
return $title;
}
}
if(function_exists('add_filter')) {
add_filter('the_title', 'append_album_review_to_title');
}
虽然它几乎几乎我需要的所有内容,但它仍然不会将字符串附加到标题,因为它们是通过自动发布插件发布的。
我正在使用的插件是 NextScripts:社交网络自动海报,无论我在哪里看到标题,都会附加所需的字符串,但是当此插件自动发布时,不会附加字符串。< / p>
如何通过自动发布插件来更改我的功能以应用于标题?
答案 0 :(得分:0)
function append_album_review_to_title( $title, $id = NULL ) {
if ($id) {
if ( get_post_type( $id ) == 'album_review' ){
return 'Album Review: ' . $title;
} else {
return $title;
}
} else {
return 'Album Review: ' . $title;
};
}
add_filter('the_title', 'append_album_review_to_title', 10, 2);
首先尝试这个:
function append_album_review_to_title( $title, $id ) {
if ( get_post_type( $id ) == 'album_review' ){
return 'Album Review: ' . $title;
} else {
return $title;
}
}
add_filter('the_title', 'append_album_review_to_title', 10, 2);
我注意到在后端,我用来自动分享帖子的社交分享插件会返回missing parameter 2
和Notice: Trying to get property of non-object...
等警告,因此我发现与前端不同(导航菜单和循环),在后端,显然$id
没有被传递给the_title
,因此我可以将其用作条件。
为了我的目的,检查$id
会告诉我,如果是true
,我们就在前端,如果是false
,那么我们会在后端查看
此代码完成了我的需要(即,在循环中修改帖子标题,不修改导航菜单项,并修改the_title
以供后端社交共享插件使用):