簡體   English   中英

woocommerce定制產品領域

[英]woocommerce custom product field

我正在嘗試使用woocommerce插件將自定義字段添加到產品管理屏幕,因此我可以使用一個下拉菜單來選擇新的或用作產品的條件。

我下拉菜單顯示在管理屏幕中,但是該產品不會在產品的前端顯示新消息或使用過。

我將此代碼添加到functions.php中:

// Select
woocommerce_wp_select( array( 
‘id’ => ‘_conditionselect’,
‘label’ => __( ‘Condition’, ‘woocommerce’ ),
‘options’ => array(
‘one’ => __( ‘New’, ‘woocommerce’ ),
‘two’ => __( ‘Used’, ‘woocommerce’ ),
)
)
);
}

function woo_add_custom_general_fields_save( $post_id ){
// Select
$woocommerce_select = $_POST['_conditionselect'];
if( !empty( $woocommerce_select ) )
update_post_meta( $post_id, ‘_conditionselect’, esc_attr( $woocommerce_select ) );
}

並將其添加到short-description.php中:

<?php _e( 'Condition: ', ‘woocommerce’ ); ?> 
<?php
echo get_post_meta( get_the_ID(), ‘_conditionselect’, true ); 
?>

知道為什么這不起作用嗎?

好的,我不確定我做了什么,但是現在前端的“ condition:”旁邊出現了“ two”一詞。 但是它僅顯示在其中一種產品上。 我以為它來自以下代碼:

‘two’ => __( ‘Used’, ‘woocommerce’ ), 

因此我將“ two”更改為“ used”,但它仍在前端顯示“ two”。

閱讀完您編寫的代碼之后。 我觀察到“ get_post_meta”的語法在當前上下文中是正確的。 即使將“二”更改為“已使用”,它仍在前端仍顯示“二”的原因是,您在進行這些更改后未更新該產品。 結果顯示了先前的自定義字段值。

woocommerce_wp_select的正確語法是。

// Stock status
        woocommerce_wp_select( array( 'id' => '_stock_status', 'label' => __( 'Stock status', 'woocommerce' ), 'options' => array(
            'instock' => __( 'In stock', 'woocommerce' ),
            'outofstock' => __( 'Out of stock', 'woocommerce' )
        ), 'desc_tip' => true, 'description' => __( 'Controls whether or not the product is listed as "in stock" or "out of stock" on the frontend.', 'woocommerce' ) ) );

“ instock”和“ outofstock”是將存儲在數據庫中的選項的值,並且在前端顯示“ In stock”和“ Out of stock”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM