global $post; in WooCommerce

时间:2018-07-19 作者:Summer Developer

使用add_meta_box() 回拨,当我回拨时global $post 我似乎无法访问任何内容或获取ID。我在WooCommerce,需要使用吗global $product 相反如果是,为什么?

当我这样做的时候add_meta_box( \'supplier_package_box\', __( \'Supplier\', \'supplier\' ), \'populate_meta_box\' );

在我的回拨中:

function populate_meta_box(){
    global $post
    print_r($post);
    echo \'</br>\';
$post 始终为空。。。对于上下文,我想检查是否存在post meta,以便在必要时填充输入框。:)

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

尽可能避免使用全局变量。对于元数据库,应使用$post 改为传递给回调函数的变量:

add_meta_box( \'supplier_package_box\', __( \'Supplier\', \'supplier\' ), \'populate_meta_box\' );

function populate_meta_box( $post ){
    print_r($post);
}

结束