update_post_meta doesn't work

时间:2018-07-06 作者:Marc Solva

我已经用代码钻了这么长时间了。

我试图创建一个包含简单文本的元盒。

为了解决这个问题,轮胎被卡住了将近10个小时。

到目前为止,我的元框信息不会保存。

这是我的代码:

add_action("admin_init", "custom_product_metabox");

function custom_product_metabox(){
  add_meta_box("custom_product_metabox_01", "Product Description", "custom_product_metabox_field", "portfolio_page", "normal", "low");
}

function custom_product_metabox_field(){
    global $post;

    $data = get_post_custom($post->ID);
        $val = isset($data[\'custom_product_input\']) ? esc_attr($data[\'custom_product_input\'][0]) : \'no value\';

        wp_nonce_field( \'my_meta_box_nonce\', \'meta_box_nonce\' );

        $text = get_post_meta($post->ID, \'custom_product_input\', true);

        echo \'<textarea rows="5" cols="220" name="custom_product_input" id="custom_product_input" value="\'.$val.\'"></textarea>\';
    }

add_action("save_post", "save_detail");

function save_detail( $post_id, $post, $update ){
    // global $post;

    if(defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE){
             return $post_id;
        }

        if( !isset( $_POST[\'meta_box_nonce\'] ) || !wp_verify_nonce( $_POST[\'meta_box_nonce\'], \'my_meta_box_nonce\' ) ) return;

    if( !current_user_can( \'edit_post\' ) ) return;

    update_post_meta($post_id, "custom_product_input", $_POST["custom_product_input"]);
}
我一直在玩这个游戏,但仍然没有幸制作出我唯一要保存的文本区域,这样我就可以调出数据并在我的前端使用它。我正在使用bridge wordpress theme.

有谁能帮我吗?我真的很想解决这个问题。

1 个回复
SO网友:SlavisWolf

问题可能是您没有正确显示自定义字段的值,请尝试以下操作:

echo \'<textarea rows="5" cols="220" name="custom_product_input" id="custom_product_input">\' . $text . \'</textarea>\';

结束

相关推荐

查找自定义分类Metabox的回调函数

我正在寻找一种方法,将我的自定义分类元盒(右侧)移动到帖子区域(中间)。我知道你可以简单地拖放它,但我希望它在新用户的默认张贴区。我的方法是使用remove_meta_box(), 然后使用add_meta_box(). 问题是I don\'t know what callback function to call when adding it back./* Remove movies metabox from sidepanel */ function hide_metabox(){