Wordpress - 错误:找不到选项页面

时间:2013-11-25 04:52:43

标签: php wordpress plugins

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

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

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

  • 尝试直接链接到options.php(使用完整网址),没有骰子。
  • 尝试将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');

1 个答案:

答案 0 :(得分:0)

我想我的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' );
}