当前位置: 首页 > 知识库问答 >
问题:

WooCommerce阻止:更改缺货产品上的“阅读更多”按钮

葛景龙
2023-03-14

我正试图改变我的WooCommerce商店主页上的“阅读更多”按钮,但我不知道该怎么做。主页使用古腾堡积木展示最受欢迎的产品,当我有一个缺货的产品在那里,而不是“立即购买”按钮,它是一个说“阅读更多”。我想把“阅读更多”改为“缺货”。

我现在做的是:

  1. 将商店页面上的阅读更多更改为缺货,使用以下代码:
function change_loop_add_to_cart_button( $button, $product, $args = array() ) {
    if( !$product->is_in_stock() ){
        $button = '<a class="button disabled" style="color:#000;background-color:#fff;border: 1px solid #ddd;">'.__('Out of stock', 'woocommerce').'</a>';
    }
   return $button;
}
add_filter( 'woocommerce_loop_add_to_cart_link', 'change_loop_add_to_cart_button', 20, 3 );
    add_filter( 'woocommerce_blocks_product_grid_item_html', 'bbloomer_remove_product_grid_block_badge', 9999, 3 );
 
function bbloomer_remove_product_grid_block_badge( $html, $data, $product ) {
   return "<li class=\"wc-block-grid__product\">
            <a href=\"{$data->permalink}\" class=\"wc-block-grid__product-link\">
               {$data->image}
               {$data->title}
            </a>
            {$data->price}
            {$data->rating}
            {$data->button}
         </li>";
}

我不知道怎么做的是在第二个代码片段中包含一个if函数来更改{$data-

谢谢你!

共有1个答案

司寇阳曦
2023-03-14

您应该使用的正确过滤器是“woocommerce\u product\u add\u to\u cart\u text”。

这应该可以做到:

add_filter( 'woocommerce_product_add_to_cart_text', 'bbloomer_archive_custom_cart_button_text' );
 
function bbloomer_archive_custom_cart_button_text( $text ) {
   global $product;       
   if ( ! $product->is_in_stock() ) {           
      return 'Out of stock';
   } 
   return $text;
}

我从这篇文章中得到了一些启发,它按产品类别更改按钮文本,但代码应该非常相似

 类似资料:
  • 我尝试创建一个具有特定到期日期的订阅。 在下面的函数中,是一个数组,包含有关产品的详细信息。这个数组包含product_id、regular_price等。product_id引用订阅变量product。 是订阅开始日期。这个时间戳可能是几个月前的。 通过示例,我需要创建一个订阅开始2个月前(4月1日)。认购期限为3个月,因此认购期满必须为7月1日。 但现在的问题是,订阅到期时间定在9月27日。(

  • 在Woocommerce中,我试图将添加到购物车的文本从“添加到购物车”更改为“缺货”,当产品缺货时,对于简单的产品和可变产品的产品变化。

  • 与随机显示产品的客户网站存在问题 “此产品目前缺货且不可用。” 问题是我们没有打开库存跟踪,所有的产品都应该一直有库存。 当我进入WordPress管理员并单击产品的更新按钮(不做任何更改)时,消息就会消失,“添加到购物车”按钮会按原样显示。不幸的是,这个问题在将来会在这些项目上重复出现,为了解决这个问题,我必须再次更新产品(同时在WooCommerce设置中单击update可以暂时解决这个问题)

  • [编辑:它实际上是在functions.php中添加代码并省略代码WC文件中的更改时工作的。重要提示:它只在ONE属性存在时起作用。然而,当有2个属性(大小 由于2.0 WooCommerce要么隐藏缺货的产品变体(一个明显的问题,因为客户没有办法知道它们的存在),要么将它们显示为库存变体(也是一个问题,因为客户会系统地失望地发现变体是缺货的-点击购买后的股票)。 该线程包括一个灰色解决方案,以消

  • 我需要在我的子主题中使用函数创建后更改woocommerce产品类型我尝试了以下方法: 我的方法在创建后被触发,但类型仍然不变?

  • 我想更改归档‘添加到购物车’按钮文本的过期订购的项目。 我尝试添加以下内容: