WordPress 3.9-需要一个函数来获取自定义帖子类型名称,以便在仪表板中自动填充类别
我在仪表板中创建了几个自定义帖子类型,我想用自定义帖子类型的名称自动填充类别名称,这样用户在添加新帖子时就不必记得选中正确的框 例如,这里是自定义帖子类型及其相应的类别名称:WordPress 3.9-需要一个函数来获取自定义帖子类型名称,以便在仪表板中自动填充类别,wordpress,categories,custom-post-type,dashboard,Wordpress,Categories,Custom Post Type,Dashboard,我在仪表板中创建了几个自定义帖子类型,我想用自定义帖子类型的名称自动填充类别名称,这样用户在添加新帖子时就不必记得选中正确的框 例如,这里是自定义帖子类型及其相应的类别名称: 新闻(类别“新闻”的id为5) 事件(类别“事件”的id为12) 报告(类别“报告”的id为8) 视频(类别“视频”的id为9) 这很有效。它将自动选中“新闻”类别框 wp_set_post_类别($post_ID,数组(5)) 我只需要一种方法来确定当选择AddNewPost时我所处的自定义帖子类型。像这样的东西应该行得
新闻(类别“新闻”的id为5)
事件(类别“事件”的id为12)
报告(类别“报告”的id为8)
视频(类别“视频”的id为9)
这很有效。它将自动选中“新闻”类别框
wp_set_post_类别($post_ID,数组(5))代码>
我只需要一种方法来确定当选择AddNewPost时我所处的自定义帖子类型。像这样的东西应该行得通,但是不行
function set_my_categories($post_type){
$post_type = get_post_type_object( 'post_type' );
$post_name = $post_type ->labels->singular_name;
switch( $post_name )
{
case 'News':
wp_set_post_categories( $post_ID, array(5));
break;
case 'Events':
wp_set_post_categories( $post_ID, array(12));
break;
case 'Reports':
wp_set_post_categories( $post_ID, array(8));
break;
case 'Videos':
wp_set_post_categories( $post_ID, array(9));
break;
}
}
add_action('save_post', 'set_my_categories');
谢谢
Charles您在hook save_post上调用函数,但不向其传递任何变量。您的函数需要有$post_类型
您应该看看wordpress codex:)中的do_action())它可以将参数传递到函数:)如果其他人需要这样做,答案如下:
函数集\u我的\u类别($post\u id){
$post\u type=get\u post\u type($post\u id);
交换机($post_类型){
案件‘新闻’:
wp_set_post_类别($post_id,数组(5));
打破
“事件”案例:
wp_set_post_类别($post_id,数组(12));
打破
个案"报告":
wp_set_post_类别($post_id,数组(8));
打破
案例“视频”:
wp_set_post_类别($post_id,数组(9));
打破
}
}
添加操作(“保存帖子”、“设置我的类别”)代码>对不起,这对我没有帮助。我需要一个如何编码的例子。对不起,这不是一个“开箱即用”的地方-你需要工作一点,不要等到有人给你复制粘贴的代码…:/我在stackoverflow上看到的大多数答案都是“开箱即用”的答案。无论如何,谢谢你。