如果在wp-config.php中開啟DeBug模式define('WP_DEBUG', true);而出現關於Notice:自2.0版本後,has_cap已被捨棄!錯誤訊息,請檢查WordPress外掛中是否有add_theme_page或add_menu_page或add_submenu_page的語法。
以WordPress SEO外掛Platinum SEO Pack為例,在platinum_seo_pack.php裡搜尋add_menu_page可以看到
add_menu_page(__('Platinum SEO', 'platinum_seo_pack'), __('Platinum SEO', 'platinum_seo_pack'), 10, $file, array($this, 'options_panel'));
add_submenu_page($file, __('Migrate from All in one SEO', 'platinum_seo_pack'), __('Migrate from All in one SEO', 'platinum_seo_pack'), 10, $filem);
這兩句語法,修改方式為將10改成'manage_options'即可,改完的正確語法為
add_menu_page(__('Platinum SEO', 'platinum_seo_pack'), __('Platinum SEO', 'platinum_seo_pack'), 'manage_options', $file, array($this, 'options_panel'));
add_submenu_page($file, __('Migrate from All in one SEO', 'platinum_seo_pack'), __('Migrate from All in one SEO', 'platinum_seo_pack'), 'manage_options', $filem);
檢查看看是不是錯誤訊息不見了~此修正適用Platinum SEO Pack1.3.7版~