Замените Нет в наличии текста кнопкой в ​​WooCommerce - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу заменить текст «Нет на складе» кнопкой «Связаться с нами».

Я попробовал этот код, но, похоже, он не работает для меня.

add_action('woocommerce_after_shop_loop_item', 'themelocation_change_outofstock_to_contact_us', 1);
// for shop page 
function themelocation_change_outofstock_to_contact_us() {
  global $product;
  if (!$product->is_in_stock()) {
    remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart');
    remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart');
    //change the link to your contact us page
    echo '<a href="/contact"> Contact Us </a>';
  }
}
// for single page
add_filter('woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2);
function wcs_custom_get_availability($availability, $_product) {
  // Change In Stock Text
  if ($_product->is_in_stock()) {
    $availability['availability'] = __('Available!', 'woocommerce');
  }
  // Change Out of Stock Text
  if (!$_product->is_in_stock()) {
    $availability['availability'] = __('<a href="/contact"> Contact Us </a>', 'woocommerce');
  }
  return $availability;
}

1 Ответ

1 голос
/ 29 апреля 2020
add_filter('woocommerce_get_availability_text', 'woocommerce_get_availability_text', 10, 2);

function woocommerce_get_availability_text($availability, $product){

    /*
    if ( ! $product->is_in_stock() ) {
        $availability = __('<a href="/contact"> Contact Us </a>', 'woocommerce');
    }
     * 
     */

    if($availability == 'Out of stock'){
        $availability = __('<a href="/contact"> Contact Us </a>', 'woocommerce');
    }
    return $availability;
}

Попробуйте указать указанный ниже код для сообщения c.

add_filter( 'woocommerce_out_of_stock_message', 'woocommerce_get_availability_text_msg', 10, 1 );

function woocommerce_get_availability_text_msg( $availability ) {

    return __( '<a href="/contact"> Contact Us </a>', 'woocommerce' );

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...