自动创建标签wordpress

时间:2016-02-21 09:32:56

标签: php wordpress

当发布不保存页面时,我们如何从标题中自动创建标签/类别?

我尝试修改此代码:

add_action('save_post', 'add_title_as_category');
function add_title_as_category( $postid ) {
    if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return;
    $post = get_post($postid);
    if ( $post->post_type == 'page') { 
        $term = get_term_by('slug', $post->post_name, 'category');
        if ( empty($term) ) {
            $add = wp_insert_term( $post->post_title, 'category', array('slug'=> $post->post_name) );
            if ( is_array($add) && isset($add['term_id']) ) {
                wp_set_object_terms($postid, $add['term_id'], 'category', true );
            }
        }
    }  
}

此代码在编辑然后保存页面时效果很好,但在" publising"时则不行。我正在使用另一个创建页面的插件,并且不支持创建标签和类别。

我认为问题是" save_post"但我尝试了其他功能,例如" publish_post'来自wordpress.org。

如果您对如何实现这一点有任何想法,那么欢迎您:)

1 个答案:

答案 0 :(得分:0)

publish_post实际上是在帖子发布后想要做某事时要正确行动的。但是,由于您使用某个插件来创建页面,因此您应该尝试连接到wp_insert_post