我有這個代碼,假設在缺貨時添加下一個可用日期。我使用自定義欄位添加了該欄位。
add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2);
function filter_product_availability_text( $availability, $product ) {
$date_of_availability = get_post_meta( get_the_ID(), 'date_of_availability', true );
if ( ! $product->is_in_stock() && ! empty($date_of_availability) ) {
$availability .= '<span style="color:#e2401c;"><strong>- (' . __('Available from:', 'flatsome') . ' </strong>' . get_post_meta( get_the_ID(), 'date_of_availability', true ) . '!important' . ')</span>';
}
return $availability;
}
自定義欄位
有人可以幫助我嗎?
最終目標是在產品中有一個帶有日期的欄位,當缺貨時,它需要使用欄位值列印該行如果我這樣放置它:
add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2);
function filter_product_availability_text( $availability, $product ) {
$date_of_availability = get_post_meta( get_the_ID(), 'date_of_availability', true );
if ( ! $product->is_in_stock() && ! empty($date_of_availability) ) {
$availability .= '<span style="color:#e2401c;"><strong>- (' . __('Available from:', 'flatsome') . ' </strong>' . get_post_meta( get_the_ID(), 'date_of_availability', true ) . ')</span>';
echo $availability
}
// return $availability;
}
然后它會起作用,但是由于某種原因它會重復,就像這樣: 重復
此外,如果啟用,它會在每個產品上留下庫存標簽,盡管被禁用
uj5u.com熱心網友回復:
您的函式出現兩次輸出的原因是您在不修改或停止 woocommerce_get_availability 文本的回傳輸出的情況下回顯 $availability 值。以下應該有效,因為它適用于 Storefront 主題:
function filter_product_availability_text( $availability, $product ) {
$date_of_availability = $product->get_meta( 'date_of_availability' );
if ( ! $product->is_in_stock() && $date_of_availability ) {
$availability .= '- Available from: ';
$availability .= $date_of_availability ;
}
return $availability;
}
add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2);
但是,如果上述方法失敗,您可以使用操作掛鉤進行輸出。在您的情況下,過濾器可能由于 Bacola 開發人員選擇對其代碼執行的操作而失敗。這應該輸出,不管:
function filter_product_availability_text() {
global $product;
$availability = '';
$date_of_availability = $product->get_meta( 'date_of_availability' );
if ( ! $product->is_in_stock() && $date_of_availability ) {
$availability = '<div ><p>Available from: '. $date_of_availability .'</p></div>';
}
echo $availability;
}
add_action( 'woocommerce_single_product_summary', 'filter_product_availability_text' );
添加到您的 CSS 檔案中:
.product-meta p {
color: #F00;
}
uj5u.com熱心網友回復:
你需要評論:
echo $availability
代碼片段:
add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2);
function filter_product_availability_text( $availability, $product ) {
$date_of_availability = '17-05-2022'; // Your custom data
if ( ! $product->is_in_stock() && ! empty($date_of_availability) ) {
$availability .= '<span style="color:#e2401c;"><strong>- (' . __('Available from:', 'flatsome') . ' </strong>' . $date_of_availability . ')</span>';
//echo $availability
}
return $availability;
}
在此處輸入影像描述
或者,在 WooCommerce > 設定 > 產品 > 庫存下也有一個內置設定 - 您可以設定何時應將其視為“低庫存”,然后顯示一條訊息:
在此處輸入影像描述
您可以使用免費翻譯插件(如 Loco Translate(https://wordpress.org/plugins/loco-translate/))更改訊息的措辭。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/476687.html
下一篇:使用“woocommerce_before_shop_loop_item”操作掛鉤時在<a>href屬性之前顯示內容
