获取ARRAY_MERGE():参数#2不是REGISTER_POST_TYPE上的数组

时间:2017-04-27 作者:James

我在接管一个网站并检查调试文件是否存在问题后,显示的问题之一是: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()错误来自何处。

1 个回复
SO网友:Eimantas Kasperiūnas

问题是capabilities 参数应为数组,并应按如下方式编写:

\'capabilities\' => array(\'remove_users\'),
而不是这样:

\'capabilities\' => \'remove_users\',
因为capabilities参数总是接受值的数组,即使它是单个值。

相关推荐