我知道这个问题有一些解决方案,但它们似乎都没有修复我的代码。
我一直在关注创建插件的lynda.com教程。但是我相信他们正在使用旧版的wordpress,这就是为什么我认为我遇到了麻烦。
我正在尝试添加一个选项页面,但每次我“保存”在我的选项页面上时,它都会为options.php页面提供“not found”错误。
这是我的代码:
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 :(得分: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' );
}