找不到插件选项菜单的PHP页

时间:2017-06-11 作者:Andrei Cojocaru

我正在尝试为一个插件创建一个选项页面,并收到请求的URL/site/wp admin/plugin电子邮件。在此服务器上找不到php。每次我按“保存设置”。

这是我的代码:

add_action( \'admin_menu\', \'settings_menu_email\' );

function settings_menu_email() {
    add_options_page( 
        \'Set Email\', 
        \'Set Email\', 
        \'manage_options\', 
        \'set-email\', 
        \'display_set_email_settings\'
    );

    add_action( \'admin_init\', \'register_set_email_options\' );
}

function register_set_email_options() {
    register_setting( \'set-email-option-group\', \'set-email\' );
}

function display_set_email_settings() {
?>
    <div class="wrap">
    <h1>Schimba email</h1>

    <?php settings_fields( \'set-email-option-group\' ); ?>
    <?php do_settings_sections( \'set-email-option-group\' ); ?>

    <form method="post" action="plugin-email.php">
    <table class="form-table">
        <tr valign="top">
        <th scope="row">Email</th>
        <td><input type="text" name="set-email" value="<?php echo esc_attr( get_option(\'set-email\') ); ?>" /></td>
        </tr>
    </table>
    <?php  submit_button(); ?>
    </form>
    </div>
我试着做出选择。php文件,但我得到了同样的东西。

1 个回复
SO网友:Cedon

看着我正在编写的插件上的一个旧提交,我看到了一些突然出现的事情。

首先是选项页声明。我的标签如下:

function settings_menu_email() {
    add_menu_page(
        \'Set Email\',
        \'Set Email\',
        \'manage_options\',
        \'email_admin_menu\',
        \'email_admin_menu_callback\',
    );

    add_submenu_page(
        \'email_admin_menu\',
        __( \'Options\', \'textdomain\' ),
        __( \'Options\', \'textdomain\' ),
        \'administrator\',
        \'email_admin_menu_options\',
        \'email_admin_menu_options_callback\'
    );
}
add_action( \'admin_menu\', \'settings_menu_email\' );
然后在回调函数之外定义设置组。

function email_initialize_plugin_options() {
    add_settings_section(
        \'email_settings_section\',
        \'EMail Options\',
        \'email_options_callback\',
        \'email_admin_menu_options\'
    );

    // Add Email Address Option
    add_settings_field(
        \'email_settings_section\',
        \'EMail Address\',
        \'email_set_address_callback\',
        \'email_admin_menu_options\',
        \'email_settings_section\',
        array(
            \'Enter a description here...\',
        )
    );

    // Register Email Address Option
    register_setting(
        \'email_settings_section\',
        \'email_settings_section\'
    );
}
add_action( \'admin_init\', \'email_initialize_plugin_options\' );
然后你回电话。

为了测试这一点,只需添加空回调函数。

结束

相关推荐

WordPress Get_Pages meta_key不显示页面

我正在Wordpress主题中使用get\\u页面来创建nav。我有一些页面不想在导航中显示。在所有页面上,我都有一个“dont\\u show\\u in\\u nav”真/假自定义字段。我可以使用meta\\u键添加选择了“dont\\u show\\u in\\u nav”的页面,但我不想显示选择了“dont\\u show\\u in\\u nav”的页面。我可以创建一个“show\\u in\\u nav”自定义字段,并选择要显示的所有页面,但我需要很多页面才能做到这一点。我试过了\'meta_