2013-11-25 43 views
2

我知道這裏有一些解決方案,但他們都沒有解決我的代碼。WordPress的 - 錯誤:選項頁面未找到

我一直在關注創建插件的lynda.com教程。不過我相信他們正在使用老版本的wordpress,這就是爲什麼我覺得我遇到了麻煩。

我正在嘗試添加一個選項頁面,但每次我在選項頁面上「保存」時,它都會給我提供options.php頁面的「not found」錯誤。

  • 嘗試直接鏈接到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'); 
+0

的第三個參數add_options_page()應該是插件選項文件的路徑。詳情請參閱http://codex.wordpress.org/Function_Reference/add_options_page。 – r0ash

+0

據我可以告訴該頁面,第三個參數應該是插件的$能力,如在此頁面上:http://codex.wordpress.org/Roles_and_Capabilities 我的第三個參數是相同的例子。我不確定你的意思是「路徑插件選項文件」。 –

回答

0

我覺得我有我的ADD_ACTION( 'admin_menu', 'cc_plugin_menu');在錯誤的地方。我將它移動到cc_plugin_menu函數中,它現在似乎可以保存OK。

下面是更新後的代碼:

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