Woocommerce:仅在特定的单个产品页面上的添加到购物车之前添加文本

Woocommerce: add text before add-to-cart only on specific single product pages

我找到了以下代码,以便在单个产品页面上的添加到购物车按钮之前显示文本:

// adds notice at single product page above add to cart

add_action( 'woocommerce_single_product_summary', 'return_policy', 20);
function return_policy() {
if ( is_single( '11675' ) ) {
    echo '<p>My Text</p>';
    }
} 

这很完美!

但是,我不仅想在一个产品页面(按 ID)显示此消息,而且想在多个产品页面(按多个 ID)显示此消息,因此我必须插入多个 ID。为了实现这一点,上面的代码必须如何更改?据我所知,我认为必须插入所谓的数组 - 但不幸的是,我不知道如何编写代码...

您将如何获得这些产品的 ID?如果只有几个 id,您可以使用 OR 语句添加它们。

add_action( 'woocommerce_single_product_summary', 'return_policy', 20);
function return_policy() {
if ( is_single( '85' )||is_single( '1077' )) {
    echo '<p>This will run on products 85 and 1077</p>';
    }
} 

这是它在我的测试站点上的样子。

如果你想在数组的帮助下使用它,那么像这样使用它

add_action( 'woocommerce_single_product_summary', 'return_policy', 20);
function return_policy() {
   global $post;
   // create array of ids on which you want to show it
   $idsArr = [100, 105];
   if ( is_single() && in_array($post->ID, $idsArr )) {
      echo '<p>Text goes here</p>';
   }
}