我正在为wordpress制作自定义插件,我需要在管理菜单中创建一个页面。我已经有一个名为mailing_list.php的文件,其中包含以下代码:
function jps_mail_list_page_entry() {
add_menu_page(
__('JPS Mailing List'),
'JPS Mailing List',
'manage_options',
'jpsNews_mailinglist',
'jpsNews_mailing_list',
'dashicons-email'
);
}
add_action('admin_menu', 'jps_mail_list_page_entry');
function jpsNews_mailing_list() {
echo 'hello';
}
现在,在插件页面中我有这个:
function jpsNews_activate_plugin() {
include_once(plugin_dir_path(__FILE__).'pages/mailing-list.php');
}
register_activation_hook(__FILE__,'jpsNews_activate_plugin');
它不能正常工作,甚至可以像这样做吗?我怎么能这样做?
提前感谢。
答案 0 :(得分:0)
我不确定你是否有意添加了echo'hello'的函数,但是这将在插件页面的内容区域中回显你好。
您的邮件列表.php
function jps_mail_list_page_entry() {
add_menu_page(
__('JPS Mailing List', 'jpsNews_mailinglist' ),
'JPS Mailing List',
'manage_options',
'jpsNews_mailinglist',
'jpsNews_mailing_list',
'dashicons-email'
);
}
add_action('admin_menu', 'jps_mail_list_page_entry');
对于插件页面,您只需执行以下操作:
include_once(plugin_dir_path(__FILE__).'/pages/mailing-list.php');
答案 1 :(得分:0)
让它发挥作用。事实证明,添加页面的功能必须在其他功能之外。只需将主题放在激活钩子之外的脚本末尾,就可以了。
// DISPLAY PAGES AND SUBPAGES
function jps_mail_list_page_entry() {
add_menu_page(
__('JPS Mailing List'),
'JPS Mailing List',
'manage_options',
'jpsNews_mailinglist',
'jpsNews_mailing_list',
'dashicons-email'
);
}
add_action('admin_menu', 'jps_mail_list_page_entry');
function jpsNews_mailing_list() {
include_once(plugin_dir_path( __FILE__ ) . 'pages/mailing-list.php');
}
无论如何,谢谢=)