Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress:添加元框错误_Php_Wordpress - Fatal编程技术网

Php WordPress:添加元框错误

Php WordPress:添加元框错误,php,wordpress,Php,Wordpress,我重写WordPress示例以创建一个元框,使用函数作为变量: $myplugin_add_meta_box = function() { add_meta_box('myplugin_sectionid', 'Testing', $myplugin_meta_box_callback, 'page' ); }; add_action( 'add_meta_boxes', $myplugin_add_meta_box ); $myplugin_meta_box_callback =

我重写WordPress示例以创建一个元框,使用函数作为变量:

$myplugin_add_meta_box = function() {
    add_meta_box('myplugin_sectionid', 'Testing', $myplugin_meta_box_callback, 'page' );
};

add_action( 'add_meta_boxes', $myplugin_add_meta_box );

$myplugin_meta_box_callback = function( $post ) {

    wp_nonce_field( 'myplugin_save_meta_box_data', 'myplugin_meta_box_nonce' );

    $value = get_post_meta( $post->ID, '_my_meta_value_key', true );

    echo '<label for="myplugin_new_field">';
    _e( 'Description for this field', 'myplugin_textdomain' );
    echo '</label> ';
    echo '<input type="text" id="myplugin_new_field" name="myplugin_new_field" value="' . esc_attr( $value ) . '" size="25" />';
};
$myplugin\u add\u meta\u box=function(){
添加元数据框(“myplugin\u sectionid”、“Testing”、“myplugin\u meta\u box\u callback”、“page”);
};
添加操作('add_meta_box',$myplugin_add_meta_box);
$myplugin\u meta\u box\u callback=函数($post){
wp_nonce_字段('myplugin_save_meta_box_data','myplugin_meta_box_nonce');
$value=get_post_meta($post->ID,''u my_meta_value_key',true);
回声';
_e('Description for this field','myplugin_textdomain');
回声';
回声';
};
但这一错误似乎是:

警告:call_user_func()要求参数1为有效回调, 中没有给定数组或字符串 /var/www/public/wp admin/includes/template.php,第1037行

我相信这个错误与函数作为变量的使用有关。

add_action('add_meta_box','myplugin_add_meta_box');
add_action( 'add_meta_boxes', 'myplugin_add_meta_box' );
function myplugin_add_meta_box() {
    add_meta_box('myplugin_sectionid', 'Testing', 'myplugin_meta_box_callback', 'page' );
}
function myplugin_meta_box_callback ( $post ) {
    wp_nonce_field( 'myplugin_save_meta_box_data', 'myplugin_meta_box_nonce' );
    $value = get_post_meta( $post->ID, '_my_meta_value_key', true );
    echo '<label for="myplugin_new_field">';
    _e( 'Description for this field', 'myplugin_textdomain' );
    echo '</label> ';
    echo '<input type="text" id="myplugin_new_field" name="myplugin_new_field" value="' . esc_attr( $value ) . '" size="25" />';
};
函数myplugin\u add\u meta\u box(){ 添加元数据框(“myplugin\u sectionid”、“Testing”、“myplugin\u meta\u box\u callback”、“page”); } 函数myplugin\u meta\u box\u回调($post){ wp_nonce_字段('myplugin_save_meta_box_data','myplugin_meta_box_nonce'); $value=get_post_meta($post->ID,''u my_meta_value_key',true); 回声'; _e('Description for this field','myplugin_textdomain'); 回声'; 回声'; };
将myplugin\u meta\u box\u回调声明为函数,而不是变量。

add\u操作('add\u meta\u box','myplugin\u add\u meta\u box');
add_action( 'add_meta_boxes', 'myplugin_add_meta_box' );
function myplugin_add_meta_box() {
    add_meta_box('myplugin_sectionid', 'Testing', 'myplugin_meta_box_callback', 'page' );
}
function myplugin_meta_box_callback ( $post ) {
    wp_nonce_field( 'myplugin_save_meta_box_data', 'myplugin_meta_box_nonce' );
    $value = get_post_meta( $post->ID, '_my_meta_value_key', true );
    echo '<label for="myplugin_new_field">';
    _e( 'Description for this field', 'myplugin_textdomain' );
    echo '</label> ';
    echo '<input type="text" id="myplugin_new_field" name="myplugin_new_field" value="' . esc_attr( $value ) . '" size="25" />';
};
函数myplugin\u add\u meta\u box(){ 添加元数据框(“myplugin\u sectionid”、“Testing”、“myplugin\u meta\u box\u callback”、“page”); } 函数myplugin\u meta\u box\u回调($post){ wp_nonce_字段('myplugin_save_meta_box_data','myplugin_meta_box_nonce'); $value=get_post_meta($post->ID,''u my_meta_value_key',true); 回声'; _e('Description for this field','myplugin_textdomain'); 回声'; 回声'; };
将myplugin\u meta\u box\u回调声明为函数,而不是变量。

找到了解决方案:

add_action( 'add_meta_boxes', 'myplugin_add_meta_box' );
function myplugin_add_meta_box() {
    add_meta_box('myplugin_sectionid', 'Testing', 'myplugin_meta_box_callback', 'page' );
}
function myplugin_meta_box_callback ( $post ) {
    wp_nonce_field( 'myplugin_save_meta_box_data', 'myplugin_meta_box_nonce' );
    $value = get_post_meta( $post->ID, '_my_meta_value_key', true );
    echo '<label for="myplugin_new_field">';
    _e( 'Description for this field', 'myplugin_textdomain' );
    echo '</label> ';
    echo '<input type="text" id="myplugin_new_field" name="myplugin_new_field" value="' . esc_attr( $value ) . '" size="25" />';
};
add_meta_box('myplugin_sectionid', 'Testing', __NAMESPACE__ . '\\myplugin_meta_box_callback', 'page' );
找到解决方案:

add_meta_box('myplugin_sectionid', 'Testing', __NAMESPACE__ . '\\myplugin_meta_box_callback', 'page' );

请按照我在回答中的建议更改代码并让我知道它是否适用于您。请按照我在回答中的建议更改代码并让我知道它是否适用于您。这样,错误是:警告:call\u user\u func()要求参数1为有效回调,在第1037行的/var/www/public/wp admin/includes/template.php中找不到函数“myplugin\u meta\u box\u callback”,或者函数名无效。这样,错误是:警告:call\u user\u func()希望参数1是有效的回调,在线/var/www/public/wp admin/includes/template.php中未找到函数“myplugin\u meta\u box\u callback”或函数名无效1037@Milap对把上面的行改一下。太好了,你能接受我的答案吗?@Milap是的。好的,请你接受我的回答,把它写完整好吗?