使用\'supports\' => [ \'title\', \'editor\', \'thumbnail\' ]
– 不同的值,而不是键。
如果我们调查register_post_type()
, 我们发现以下几行:
if ( ! empty( $args->supports ) ) {
add_post_type_support( $post_type, $args->supports );
unset( $args->supports );
} elseif ( false !== $args->supports ) {
// Add default features
add_post_type_support( $post_type, array( \'title\', \'editor\' ) );
}
在中
add_post_type_support()
, 我们看到,这些值被转换为具有值的数组键
true
:
function add_post_type_support( $post_type, $feature ) {
global $_wp_post_type_features;
$features = (array) $feature;
foreach ($features as $feature) {
if ( func_num_args() == 2 )
$_wp_post_type_features[$post_type][$feature] = true;
else
$_wp_post_type_features[$post_type][$feature] = array_slice( func_get_args(), 2 );
}
}
register_post_type()
正在呼叫
add_post_type_support()
只有两个参数
else
在后一个功能中无法访问。
但是,您可以致电add_post_type_support()
直接和传递自定义支持功能:
add_post_type_support(
\'my_campaigns\',
\'subheadline\',
[
\'min_length\' => 30,
\'max_length\' => 300,
]
);
但是,您必须分别为每个特性调用该函数。
旁注:请不要使用\'name\' => __( \'Campaigns\' )
. 如果没有文本域,这个字符串根本不可翻译,但它会触发WordPress默认翻译中的查找,这相当大,而且速度很慢。看见How to Internationalize Your Plugin 有关详细信息。