我在接管一个网站并检查调试文件是否存在问题后,显示的问题之一是:array_merge(): Argument #2.禁用插件/主题后,我发现问题是register\\u post\\u类型,如果我删除,消息将停止出现在调试文件中。
add_action( \'init\', \'create_post_type\' );
function create_post_type() {
register_post_type( \'member\',
array(
\'labels\' => array(
\'name\' => _x( \'Members\', \'Members\', \'text_domain\' ),
\'singular_name\' => _x( \'Member\', \'Member\', \'text_domain\' ),
),
\'menu_position\' => \'6\',
\'public\' => true,
\'supports\' => array(\'title\', \'editor\', \'thumbnail\', \'author\'),
\'has_archive\' => true,
\'capabilities\' => \'remove_users\',
\'rewrite\' => array(\'slug\' => \'member\'),
)
);
}
上面的代码确实添加了post类型,但我不确定array\\u merge()错误来自何处。
SO网友:Eimantas Kasperiūnas
问题是capabilities 参数应为数组,并应按如下方式编写:
\'capabilities\' => array(\'remove_users\'),
而不是这样:
\'capabilities\' => \'remove_users\',
因为capabilities参数总是接受值的数组,即使它是单个值。