WordPress Bibleのソースコードに問題はありませんか?
WordPress 聖書の第 5 章: プラグインによる WordPress の拡張について、試用中にこのような問題に遭遇した例があります。
警告: call_user_func_array() はパラメーター 1 が有効なコールバックであることを期待しています。関数 'copyright-notices' が見つからないか、E:xampphtdocschinesewp-includesplugin.php の 405 行目で関数名が無効です:
call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']))
元のコードを添付します:
/*
プラグイン名: 著作権表示
プラグイン URI: http://emmense.com/copyright-notices/
説明: ユーザーがテーマに著作権テキストを設定し、WordPress 管理者から制御できるようにするプラグインです。
著者: アーロン・ブラゼル
バージョン: 1.0
著者URI: http://technosailor.com/
*/
関数 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'), 0, 'manage_options', 'copyright-notices', 'copyright_notices_admin');
}
add_action('admin_menu', 'copyright_notices_admin_page');
関数 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;
}
}
それ以外
{
if( add_option( 'copyright_notices_text', $_POST['copyright_text'] ) )
{
$options_saved = true;
}
}
}
}
if( $options_saved )
{
echo '
' .__('Options Saved','copyright-notices') '.
< ;/p>