循环功能,用于以自定义帖子类型创建metabox的内容

时间:2018-12-21 15:06:04

标签: php wordpress function metadata custom-post-type

我创建了自定义帖子类型。 在此自定义帖子类型中,我具有metabox。 此metabox中的某些内容依赖于另一种自定义帖子类型的帖子。

对于创建metabox,没问题,以下代码有效:

$vehicules = get_posts(array('post_type'=>'vehicules','post_status'=>'publish'));

foreach ($vehicules as $key_car => $value_car) {
    $title = $value_car->post_title;
    $id_car = $value_car->ID;
    add_meta_box(
        'car_'.$id_car, //slug of metabox
        __('Price for ','fyc').$title, //label of metabox
        'wpt_shuttles_car_'.$id_car, //callback function
        'shuttles', //cpt
        'normal', //place in page
        'default'
    );

}

在metabox中创建的代码如下:

$args = array('post_type'=>'vehicules','post_status'=>'publish');

$mydatas = get_posts($args);

foreach ($mydatas as $key_car => $value_car) {
    $id_car = $value_car->ID;
    $field_car = 'car_'.$id_car;
    $function_car = 'wpt_shuttles_car_'.$id_car;
    $field_name = 'shuttles_'.$field_car;
    $post_meta_name = 'shuttles_cities_'.$field_car;

$function_car = function() {
    global $post;

    wp_nonce_field( basename( __FILE__ ), 'nonce_'.$field_car );

    $post_meta_name = get_post_meta( $post->ID, $field_name, true );

    echo '<input type="text" name="'.$field_name.'" value="'.$post_meta_name.'" class="widefat" required>';
};  

}

但是我的代码的这一部分提供了以下信息:

  

警告:call_user_func()期望参数1为有效的回调,函数'$ wpt_shuttles_car_31'找不到或/home/mywebsiteaddress.com/wordpress/wp-admin/includes/template.php中第1215行的函数名称无效

我认为问题出在函数的名称上,但是,我该如何命名呢? 我已经尝试过了:

 $$function_car = function(){
    ...
}

双倍$$,但效果不佳。

0 个答案:

没有答案