在Wordpress中标记帖子(如果你只知道帖子slu))

时间:2016-06-25 17:18:10

标签: php wordpress tags slug

我有一个从Google Analytics(1000+)中检索到的后塞的列表,我想在Wordpress中批量标记那些带有特定标记的帖子。他们从短划线手动执行此操作的帖子过多。

我正在尝试get a post by its slug,然后针对每个帖子使用wp_set_post_tags函数添加特定标记,但似乎是参数' name'不允许在数组中添加slugs。

'name' => array('slug_1', 'slug_2', 'slug_etc');

我无法让它发挥作用,而且我非常确定这应该是一项相当简单的任务。

1 个答案:

答案 0 :(得分:0)

我想我已经明白了。

function add_tags() {
    global $post;

    $args = array(
        'post_name__in'     => array('slug_1', 'slug_2', 'slug_3', 'slug_etc'),
        'posts_per_page'    => -1
    );

    $posts = get_posts($args);

    foreach($posts as $post) {
        $id = get_the_ID();
        wp_set_post_tags($id, 'Your_Tag_Here', true);
    }
}
add_action( 'admin_init', 'add_tags', 0 );

注意:只有拥有Wordpress 4.4及更高版本才能使用post_name__in