我已经使用Elementor页面构建器创建了产品页面模板。我还为产品创建了自定义字段,在其中选择了我所使用的销售代码不适用的月份,如下所述。我的问题是,当我使用主题默认模板时,如果该产品在所选月份内不可用,则确实显示消息“产品不可用”,但是当我使用elementor创建的模板时,它不显示错误消息,并且我找不到在那里显示消息的方式。如果有人知道该怎么做,请告诉我。
这是代码。
add_filter('woocommerce_is_purchasable', 'woocommerce_is_purchasable_filter_callback', 10, 2 );
function woocommerce_is_purchasable_filter_callback( $purchasable, $product ) {
$months = (array) get_field('availability', $product->get_id());
$purchasable = in_array( date('F'), $months ) ? false : $purchasable;
return $purchasable;
}
add_action( 'woocommerce_single_product_summary', 'unavailable_product_display_message', 20 );
function unavailable_product_display_message() {
global $product;
if(! $product->is_purchasable() ){
echo '<p style="color:#e00000;">' . __("This product is currently unavailable.") . '</p>';
}
}