[英]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.