2016-04-06 19 views
0

enter image description hereどのようにWordPressの製品ページの設定を保存するには?

私は、次のコード試してみています:

 if(isset($_POST['save'])) 
      { 
        global $wpdb,$product; 
        $id = $product->id; 

        $custommsg = sanitize_text_field($_POST['customstock-msg']); 
        $customprocessingtime = sanitize_text_field($_POST['customstock-Processing-time']); 
        $customstockquantity = sanitize_text_field($_POST['customstock-quantity']); 
        $customstockcatlogpage = sanitize_text_field($_POST['customstock-catlogpage']); 
        $customstockinstockdate = sanitize_text_field($_POST['customstock-instockdate']); 
        $customstockinstockdate = date("Y-m-d", strtotime($customstockinstockdate)); 

$wpdb->insert('wp_woocommerce_specific_product_settings', array(
                    'custom_msg' => $custommsg, 
                    'order_processing_time' => $customprocessingtime, 
                    'exp_instock_date' => $customstockinstockdate, 
                    'show_stockstatus_quantity' => $customstockquantity, 
                    'showon_catlog' => $customstockcatlogpage, 
                    'specific_product_id' => $id 
                   )); 
      } 

私はワードプレスで誰もが解決策を与えることができます初心者です。

答えて

2

woocommerceのアクションフックwoocommerce_process_product_metaを使用するだけで済みます。

あなたのfunctions.phpファイルに入るコードは次のとおりです。必要に応じてカスタムメタフィールドの名前を変更できます。 (update_post_metaステートメント内)。

add_action('woocommerce_process_product_meta', 'wp_woo_save_product_custom_meta'); 
function wp_woo_save_product_custom_meta($post_id){ 
    $custommsg = sanitize_text_field($_POST['customstock-msg']); 
    if(!empty($custommsg)){ 
     update_post_meta($post_id, 'customstock_msg', $custommsg)); 
    } 
    $customprocessingtime = sanitize_text_field($_POST['customstock-Processing-time']); 
    if(!empty($customprocessingtime)){ 
     update_post_meta($post_id, 'customstock_Processing_time', $customprocessingtime)); 
    } 
    $customstockquantity = sanitize_text_field($_POST['customstock-quantity']); 
    if(!empty($customstockquantity)){ 
     update_post_meta($post_id, 'customstock_quantity', $customstockquantity)); 
    } 
    $customstockcatlogpage = sanitize_text_field($_POST['customstock-catlogpage']); 
    if(!empty($customstockcatlogpage)){ 
     update_post_meta($post_id, 'customstock_catlogpage', $customstockcatlogpage)); 
    } 
    $customstockinstockdate = sanitize_text_field($_POST['customstock-instockdate']); 
    $customstockinstockdate = date("Y-m-d", strtotime($customstockinstockdate)); 
    if(!empty($customstockinstockdate)){ 
     update_post_meta($post_id, 'customstock_instockdate', $customstockinstockdate)); 
    } 
} 
+0

別のテーブルに保存する場合はどうすればよいですか? – Dipika

+0

この回答はwp_post_metaに保存されています。 – Dipika

+0

なぜ別のテーブルに保存したいのですか?理由は私は、それは常により良いカスタマイズのワードプレス/ woocommerceのネイティブ関数を使用して取得することができるように、Wordpressのネイティブな方法でメタデータを保存することをお勧めします。 – zipkundan

関連する問題