私は現在WordPressテーマを開発中です。たとえば、ユーザーのGoogle Analyticsトラッキングコードを指定するために設定パネルを表示したいと思います。
私がCodexと複数のチュートリアルで得た指示に従って、functions.phpファイルに置かれたこのコードは 'Appearence'セクションのサブメニューを作成し、ユーザーが 'manage_options'機能を持っていればどちらかの "Theme preferences"を表示しますまたは「あなたは通り過ぎてはならない」。そうでなければ。
// Add theme settings link in the admin section menu
function add_appearance_menu() {
add_theme_page('Theme preferences', 'Theme pref.', 'manage-options', 'interact-theme-settings', 'render_theme_settings');
}
add_action('admin_menu', 'add_appearance_menu');
// Render theme settings page
function render_theme_settings() {
if (!current_user_can('manage_options')) {
wp_die(__('You shall not pass.'));
}
echo "Theme preferences";
}
しかし、私の管理メニューに新しいものは何も表示されず、手動でページにアクセスしようとすると( http://mydomain.com/wp-admin/themes.php?page=interact-theme-settings )表示されますこのエラーメッセージ:
このページにアクセスするための十分な権限がありません。
...これは、決して私が私のrender-theme_settings()関数で指定した「あなたは合格してはならない」というメッセージではありません。
誰かが私のコードの何が問題なのかを教えてください。ご協力ありがとうございます。
編集:私は - もちろん - 私はHASで 'manage_options'機能を使ってこれらすべてをテストしているユーザーを指摘したいと思います。
manage-options
はmanage_options
であるべきです。これを試して:
add_theme_page('Theme preferences', 'Theme pref.', 'manage_options', 'interact-theme-settings', 'render_theme_settings');