所以有以下代码,我正在尝试为WordPress创建自定义插件:
<?php
/*
Plugin Name: Dump-It Scheduler
Plugin URI: mycompany.com
Description: my description
Version: 1.0
Author: Blaine
Author URI: myuri.net
License:
*/
function scheduler_admin_actions() {
add_options_page('Dump-It Scheduling', 'Dump-It Schedule', 'Administrator', 'Dump-It_Master_Schedule');
}
add_action('admin_menu', 'scheduler_admin_actions');
?>
但是,我在应用程序的管理部分看不到任何添加链接。我已经激活了该插件,但我希望看到此插件的选项。据我了解,我应该看到一个添加到管理面板的链接。
我还要补充一点,我没有任何错误(我正在使用调试器插件)。不知道这是怎么回事...
我正在使用WordPress 3.6.1以防万一。
我错过了什么?
第三个参数是功能,在您的情况下必须manage_options
或类似。它甚至可以是一个角色(虽然不推荐),但它必须是小写的,而不是Administrator
.
您缺少最后一个参数,即回调。
# http://codex.wordpress.org/Function_Reference/add_options_page
add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);
顺序没关系,这有效:
function scheduler_admin_actions() {
add_options_page(
'Dump-It Scheduling',
'Dump-It Schedule',
'manage_options',
'Dump-It_Master_Schedule',
'my_callback'
);
}
function my_callback()
{
echo 'hello world';
}
add_action('admin_menu', 'scheduler_admin_actions');
事实证明,我不得不像这样将add_action
移动到函数上方:
<?php
/*
Plugin Name: Dump-It Scheduler
Plugin URI: mycompany.com
Description: my description
Version: 1.0
Author: Blaine
Author URI: myuri.net
License:
*/
//moved this call above the function definition
add_action('admin_menu', 'scheduler_admin_actions');
function scheduler_admin_actions()
{
add_options_page('Dump-It Scheduling', 'Dump-It Schedule', 'Administrator', 'Dump-It_Master_Schedule');
}
?>