WordPress:如何通过functions.php附加到标题自动发布插件

时间:2016-02-23 09:58:47

标签: wordpress function plugins filter

到目前为止我得到了什么

我终于得到了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>

问题

如何通过自动发布插件来更改我的功能以应用于标题?

1 个答案:

答案 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 2Notice: Trying to get property of non-object...等警告,因此我发现与前端不同(导航菜单和循环),在后端,显然$id没有被传递给the_title,因此我可以将其用作条件。

为了我的目的,检查$id会告诉我,如果是true,我们就在前端,如果是false,那么我们会在后端查看

此代码完成了我的需要(即,在循环中修改帖子标题,不修改导航菜单项,并修改the_title以供后端社交共享插件使用):