自定义发布类型-$args与标签数组

时间:2012-08-21 作者:Dave

我注册了一个新的帖子类型,我想知道$args和labels数组之间有什么区别。请在codex中阅读更多信息(抱歉,链接不能超过两个)。

例如,标签(代码来自this CPT tutorial)

\'labels\' => array(
    \'name\' => __( \'Super Dupers\' ),
    \'singular_name\' => __( \'Super Duper\' ),
    \'add_new\' => __( \'Add New\' ),
    \'add_new_item\' => __( \'Add New Super Duper\' ),
    \'edit\' => __( \'Edit\' ),
    \'edit_item\' => __( \'Edit Super Duper\' ),
    \'new_item\' => __( \'New Super Duper\' ),
    \'view\' => __( \'View Super Duper\' ),
    \'view_item\' => __( \'View Super Duper\' ),
    \'search_items\' => __( \'Search Super Dupers\' ),
    \'not_found\' => __( \'No super dupers found\' ),
    \'not_found_in_trash\' => __( \'No super dupers found in Trash\' ),
    \'parent\' => __( \'Parent Super Duper\' ),
),
VS$参数(代码来自this portfolio tutorial)

$args = array(  
        \'label\' => __(\'Portfolio\'),  
        \'singular_label\' => __(\'Project\'),  
        \'public\' => true,  
        \'show_ui\' => true,  
        \'capability_type\' => \'post\',  
        \'hierarchical\' => false,  
        \'rewrite\' => true,  
        \'supports\' => array(\'title\', \'editor\', \'thumbnail\')  
       ); 
每种方法的优点是什么?我注意到,如果我尝试使用$args数组中的一些标签,则什么都没有发生或没有按照预期发生。例如\'add_new_item\' => __( \'Add New Super Duper\' ), 如果我将其包含在$args数组中,则不起作用。我希望这些标签能够像$args数组中的所有现有代码一样工作(我不希望任何东西被破坏)。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

您发布的代码是您链接的教程中代码的不完整复制/粘贴。labels$args 阵列:

$labels_array = array(
    \'name\' => _x(\'Books\', \'post type general name\')
);

$args = array(
    \'labels\' => $labels_array
);

register_post_type( \'book\', $args );
$args 是包含标签参数数组的数组。

结束