wordpress 圣经 在讲Chapter 5: Extending WordPress with Plugins时,有个例子,我在试用时出现这样的问题,请高手指点:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'copyright-notices' not found or invalid function name in E:\xampp\htdocs\chinese\wp-includes\plugin.php on line 405:
call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']))
附原码:
<?php
/*
Plugin Name: Copyright Notices
Plugin URI: http://emmense.com/copyright-notices/
Description: A plugin that allows the user to set Copyright text in the theme and control it from WordPress Admin.
Author: Aaron Brazell
Version: 1.0
Author URI: http://technosailor.com/
*/
function i18n_copyright()
{
$plugin_path = plugin_basename( dirname( __FILE__ ) .'/translations' );
load_plugin_textdomain('copyright-notices', $plugin_path );
}
add_action('init','i18n_copyright');
function copyright_notices_admin_page() {
add_submenu_page( 'plugins.php',__('Copyright Notices Configuration'), __('Copyright Notices Configuration','copyright-notices'), 0, 'manage_options', 'copyright-notices', 'copyright_notices_admin');
}
add_action('admin_menu', 'copyright_notices_admin_page');
function copyright_notices_admin()
{
if( $_POST['submit'] )
{
if( check_admin_referer('copyright_notices_admin_options-update') )
{
$options_saved = false;
if( $oldvalue = get_option('copyright_notices_text') )
{
update_option( 'copyright_notices_text', $_POST['copyright_text'] );
if( $oldvalue == get_option('copyright_notices_text') )
{
$options_saved = true;
}
}
else
{
if( add_option( 'copyright_notices_text', $_POST['copyright_text'] ) )
{
$options_saved = true;
}
}
}
}
if( $options_saved )
{
echo '<div id="message" class="updated fade"><p>' . __('Options Saved','copyright-notices') . '.</p></div>';
}
?>
<div class="wrap">
<h2><?php _e('Copyright Notices Configuration','copyright-notices') ?></h2>
<p><?php _e('On this page, you will configure all the aspects of this plugins.','copyright-notices') ?></p>
<form action="" method="post" id="copyright-notices-conf-form">
<h3><label for="copyright_text"><?php _e('Copyright Text to be inserted in the footer of your theme','copyright-notices') ?>:</label></h3>
<p><input type="text" name="copyright_text" id="copyright_text" value="<?php echo get_option('copyright_notices_text','copyright-notices') ?> " /></p>