【问题标题】:auto create tags wordpress自动创建标签 wordpress
【发布时间】:2016-02-21 09:32:55
【问题描述】:

如何在发布不保存页面时从标题自动创建标签/类别?

我尝试修改这段代码:

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 );
            }
        }
    }  
}

此代码在编辑然后保存页面时效果很好,但在“发布”时效果不佳。我正在使用另一个插件来创建页面,但不支持创建标签和类别。

我认为问题出在“save_post”,但我也尝试了其他功能,例如 wordpress.org 的“publish_post”。

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

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    publish_post 实际上是在帖子发布后您想做某事时挂钩的正确操作。但是由于你使用一些插件来创建页面,你应该尝试连接到wp_insert_post

    【讨论】:

    • 我已经尝试过了,得到的结果与 save_post 相同。感谢您花时间回答
    • @kriendor 检查您的插件如何添加这些页面。
    • 我尝试只为“页面类别”保留一个插件,但仍然没有得到任何结果..还有其他想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多