我创建了一个自定义帖子类型和一个自定义分类法,但是当我添加第一个项目并选择了一个类别/收件人时,发生了一些奇怪的事情,它自动创建了一个额外的数字类别并将选择更改为该类别。
eg;
我输入的收件人只有“John”和“Michael”,我选择了“John”,当页面重新加载时,它添加了“13”并选择了它,每次我更新它时,它都会添加一个新的号码,并选择这个新号码作为收件人。
似乎只有当我不选择时,它才不会添加新数字any 收件人
The code:
add_action( \'after_setup_theme\', \'blm_theme_setup\' );
function blm_theme_setup() {
//.........
// Add our custom post type
add_action( \'init\', \'blm_letter_post_type\' );
//........
}
function blm_letter_post_type() {
register_post_type( \'letter\',
array(
\'labels\' => array(
\'name\' => __( \'Letters\' ),
\'singular_name\' => __( \'Letter\' ),
//..........
),
\'public\' => true,
\'taxonomies\' => array( \'recipient\' ),
\'supports\' => array(\'title\', \'editor\', \'revisions\'),
\'has_archive\' => true,
\'rewrite\' => array(\'slug\' => \'letters\'),
//........
)
);
// Our args for the custom taxonomy below
$args = array(
\'labels\' => array(
\'name\' => __( \'Recipients\' ),
\'singular_name\' => __( \'Recipient\' ),
//.....
),
\'meta_box_cb\' => \'post_categories_meta_box\',
);
// Register a custom taxonomy for our letter categories
register_taxonomy( \'recipient\', \'letter\', $args );
// Connect the post type and taxonomy together to be safe
register_taxonomy_for_object_type( \'recipient\', \'letter\' );
}
Note: 我试图只包含相关信息以减少混乱,任何未包含的参数都是标签或不相关的参数,如描述、菜单位置和菜单图标。
Edit: 我刚刚注意到,它创建的“类别”与我选择的“类别”的术语id相匹配。所以如果term id
约翰的名字是24
我选择它,然后它会用这个数字创建一个新的“类别”,并选择它。
这里发生了什么,我该如何解决?
SO网友:Alex P
您使用的语法不正确-请尝试以下操作:
add_action( \'after_setup_theme\', \'blm_theme_setup\' );
function blm_theme_setup() {
// Add our custom post type
add_action( \'init\', \'blm_letter_post_type\' );
}
function blm_letter_post_type() {
register_post_type( \'letter\',
array(
\'labels\' => array(
\'name\' => __( \'Letters\' ),
\'singular_name\' => __( \'Letter\' ),
//..........
),
\'public\' => true,
\'taxonomies\' => array( \'letter\' ),
//........
)
);
// Our args for the custom taxonomy below
$args = array(
\'labels\' => array(
\'name\' => __( \'Recipients\' ),
\'singular_name\' => __( \'Recipient\' ),
//.....
),
\'meta_box_cb\' => \'post_categories_meta_box\',
);
register_taxonomy(\'recipient\', \'letter\', $args);
}