未将install.php自定义分类术语添加到自定义帖子

时间:2013-06-09 作者:Roc

因此,在安装中创建自定义分类术语时,我遇到了这个问题。php文件。

因此,我正在运行一个WP多站点,在创建新的博客时,我试图自动创建帖子和分类术语。分类法和CPT已经通过网络激活的插件创建。

下面是安装中的内容片段。php文件:

    // Sample Category
    $cat_name = __(\'Sample Category\');
    /* translators: Default category slug */
    $cat_slug = sanitize_title(_x(\'Sample Category\', \'Default category slug\'));

    if ( global_terms_enabled() ) {
        $cat_id = $wpdb->get_var( $wpdb->prepare( "SELECT cat_ID FROM {$wpdb->sitecategories} WHERE category_nicename = %s", $cat_slug ) );
        if ( $cat_id == null ) {
            $wpdb->insert( $wpdb->sitecategories, array(\'cat_ID\' => 0, \'cat_name\' => $cat_name, \'category_nicename\' => $cat_slug, \'last_updated\' => current_time(\'mysql\', true)) );
            $cat_id = $wpdb->insert_id;
        }
        update_option(\'example_product_cat\', $cat_id);
    } else {
        $cat_id = 99;
    }

    // Sample Post
    $now = date(\'Y-m-d H:i:s\');
    $now_gmt = gmdate(\'Y-m-d H:i:s\');
    $post_guid = get_option(\'home\') . \'/sample\';

    $wpdb->insert( $wpdb->posts, array(
                                \'post_author\' => $user_id,
                                \'post_date\' => $now,
                                \'post_date_gmt\' => $now_gmt,
                                \'post_content\' => \'\',
                                \'post_excerpt\' => \'Sample Text Excerpt \',
                                \'post_title\' => __(\'Sample Name\'),
                                /* translators: Default post slug */
                                \'post_name\' => sanitize_title( _x(\'sample-name\', \'Sample Name\') ),
                                \'post_modified\' => $now,
                                \'post_modified_gmt\' => $now_gmt,
                                \'guid\' => $post_guid,
                                \'post_type\' => \'custom_post_type\',
                                \'comment_count\' => 0,
                                \'to_ping\' => \'\',
                                \'pinged\' => \'\',
                                \'post_content_filtered\' => \'\'
                                ));
    $wpdb->insert( $wpdb->postmeta, array( \'post_id\' => 4, \'meta_key\' => \'_sample_meta\', \'meta_value\' => \'19\' ) );
  $wpdb->insert( $wpdb->term_relationships, array( \'term_id\' => 99, \'object_id\' => 1) );
因此,创建了分类术语,也创建了帖子,这两个术语都可以在后端查看。问题是,术语与创建的帖子没有关联

meta\\u值也不会显示在WP\\u List\\u表上,但会显示在update post页面上。当我单击“更新帖子”时,它会显示在WP\\u List\\u表上。

关于为什么分类术语没有添加到帖子中,以及为什么meta\\u值显示在更新帖子页面中,而不是WP\\u List\\u表中,有什么线索吗?

谢谢Roc。

1 个回复
SO网友:Roc

我相信我在这里找到了解决方案:http://codex.wordpress.org/Function_Reference/wp_set_object_terms

wp_set_object_terms( $post_id, $terms, $taxonomy, $append );

wp_set_object_terms( 4, $cat_id, \'example_product_cat\');
这仍然放在安装内部。php文件。

如果有更好的解决方案,请添加!

谢谢Roc。

结束

相关推荐

WP MultiSite中自定义帖子类型的PDF的特定上传文件夹

我需要过滤上传到特定文件夹的自定义帖子类型,称为“文档”,仅适用于PDF。到目前为止,我已经:function custom_upload_directory( $args ) { $base_directory = \'/home/xxx/my_uploadfolder\'; $base_url = \'http://xxxx/wp-content/uploads/my_uploadfolder\'; $id = $_REQUEST[\'post_id\'];