#php #wordpress #woocommerce
Вопрос:
Я хочу отключить кнопку «Добавить в корзину», когда товар доступен при обратном заказе.
Я пробовал что-то подобное, но это совсем не работает:
function remove_add_to_cart ($product){
if($product->is_on_backorder){
add_filter( 'woocommerce_is_purchasable', '__return_false');}}
есть какие-нибудь предложения, пожалуйста?
Ответ №1:
Одним из решений (в зависимости от того, что вы на самом деле хотите сделать) может быть полное удаление формы add_to_cart, если продукт находится в резервном заказе. Могут быть и другие решения, но ваш вопрос немного расплывчат. Это специально для отдельной страницы продукта. Вы не уточнили в вопросе.
add_action('woocommerce_single_product_summary', 'check_if_backordered', 1 );
function check_if_backordered(){
global $product;
if ($product->is_on_backorder()){
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
// Here you can insert whatever you want in its place
}
}
Комментарии:
1. Я согласен с вами, но также я имел в виду одну страницу продукта, поэтому вы отправляете мне правильную информацию. Теперь все работает, большое вам спасибо! с помощью этого кода: add_action(‘woocommerce_single_product_summary’, ‘check_if_backordered’, 1 ); функция check_if_backordered(){ глобальный $продукт; если ($продукт->is_on_backorder()){ add_filter( ‘woocommerce_is_purchasable’, ‘__return_false’); } }
2. Если этот ответ подходит для вас… пожалуйста, примите и/или проголосуйте. Спасибо
3. нет проблем, я чуть не забыл это сделать… еще раз большое вам спасибо!