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上看到的大多数答案都是“开箱即用”的答案。无论如何,谢谢你。