Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress在激活插件时添加菜单页_Php_Wordpress_Plugins - Fatal编程技术网

Php Wordpress在激活插件时添加菜单页

Php Wordpress在激活插件时添加菜单页,php,wordpress,plugins,Php,Wordpress,Plugins,我正在为wordpress制作一个自定义插件,我需要在管理菜单中创建一个页面。我已经有一个名为mailing_list.php的文件,其中包含以下代码: function jps_mail_list_page_entry() { add_menu_page( __('JPS Mailing List'), 'JPS Mailing List', 'manage_options', 'jpsNews_mailinglist', 'jpsNews_mailin

我正在为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');
它不工作,所以,它甚至可以这样做吗?我怎么做


提前感谢。

我不确定您是否有意添加了echo“hello”的功能,但这将在插件页面的内容区域中echo hello

对于您的mail-list.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');

让它发挥作用。原来添加页面的函数必须在其他函数之外。只需将脚本末尾的主题放在激活挂钩之外,就可以了

// 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');
}

无论如何,谢谢=)

您的服务器日志中有什么内容吗?没有。我看不出来。