【问题标题】:Wordpress - Error: Options Page Not FoundWordpress - 错误:未找到选项页面
【发布时间】:2013-12-09 16:50:52
【问题描述】:

我知道有一些解决方案可以解决这个问题,但似乎没有一个可以修复我的代码。

我一直在关注 lynda.com 关于创建插件的教程。但是我相信他们使用的是旧版本的 wordpress,这就是为什么我认为我遇到了麻烦。

我正在尝试添加一个选项页面,但每次我在我的选项页面上“保存”时,它都会为 options.php 页面提供“未找到”错误。

  • 尝试直接链接到 options.php(带有完整 URL),没有骰子。
  • 尝试将 register_setting 更改为相同的值,如 Wordpress Codex 中所述,但没有成功。

这是我的代码:

function cc_init(){
    register_setting('cc_options,','cc_cc_email');
}add_action('admin_init','cc_init');


function cc_option_page(){
    ?>
    <div class="wrap">
    <?php screen_icon(); ?>
    <h2>CC Comments Options</h2>
    <p>Welcome to the CC comments plugin. here you can edit the email(s) to CC your comments to.</p>
    <form action="options.php" method="post" id="cc-comments-email-options-form">
    <?php settings_fields('cc_options'); ?>
    <h3><label for="cc_cc_email">Eamil to send CC to:</label>
    <input type="text" id="cc_cc_email" name="cc_cc_email" 
            value="<?php echo esc_attr(get_option('cc_cc_email')); ?>" /></h3>
    <p><input type="submit" name="submit" value="Save Email" /></p>    
    </form>
    </div>
    <?php
}

function cc_plugin_menu(){
    add_options_page('CC Comments Settings','CC Comments','manage_options','cc-comments-plugin','cc_option_page');
}add_action('admin_menu','cc_plugin_menu');

【问题讨论】:

标签: php wordpress plugins


【解决方案1】:

我想我有我的 add_action('admin_menu', 'cc_plugin_menu');在错误的位置。我把它移到了 cc_plugin_menu 函数中,现在似乎可以保存了。

这是更新后的代码:

add_action('admin_menu', 'cc_plugin_menu');

function register_mysettings() {
    register_setting( 'cc_options', 'cc_cc_email' );
}

function cc_option_page() {
    ?>
    <div class="wrap">
    <h2>CC Comments Options</h2>
    <p>Welcome to the CC comments plugin. here you can edit the email(s) to CC your comments to.</p>
    <form method="post" action="options.php" id="cc-comments-email-options-form">
        <?php settings_fields( 'cc_options' ); ?>
        <?php do_settings_sections( 'cc_options' ); ?>
        <h3><label for="cc_cc_email">Eamil to send CC to:</label>
        <input type="text" id="cc_cc_email" name="cc_cc_email" 
                value="<?php echo esc_attr(get_option('cc_cc_email')); ?>" /></h3>
        <p><input type="submit" name="submit" value="Save Email" /></p>    
    </form>
    </div>
    <?php 
} 

function cc_plugin_menu(){
    add_options_page('CC Comments Settings','CC Comments','manage_options','cc-comments-plugin','cc_option_page');
    add_action( 'admin_init', 'register_mysettings' );
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2013-01-08
    • 1970-01-01
    • 2017-01-15
    • 2012-09-15
    相关资源
    最近更新 更多