默认情况下,WooCommerce会创建一个产品页面链接,并在创建后将其添加到功能图(以及标题)中。我想在不影响其他产品的情况下只更改单个产品的链接。在cart.php文件中,我看到了以下几行:
<td class="product-name">
<?php // Avada edit ?>
<span class="product-thumbnail">
<?php
$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
if ( ! $_product->is_visible() )
echo $thumbnail;
else
printf( '<a href="%s">%s</a>', $_product->get_permalink( $cart_item ), $thumbnail );
?>
</span>
<div class="product-info">
<?php
if ( ! $_product->is_visible() )
echo apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key );
else
// Avada edit
echo apply_filters( 'woocommerce_cart_item_name', sprintf( '<a class="product-title" href="%s">%s</a>', $_product->get_permalink( $cart_item ), $_product->get_title() ), $cart_item, $cart_item_key );
我知道,如果我修改<span class="product-thumbnail">
部分上的else
行,以获得以下内容:
sprintf( '%s', $_product->get_title() ), $cart_item, $cart_item_key );
我可以删除链接,但这会影响到所有产品。
如何调用ID产品,然后更改其链接?我知道它将与$_product->id
一起使用,但在那之后我不知道如何或在哪里放置。
附言:请原谅我的英语,谢谢你。
所以你可以添加其他产品来创建一个数组,目前只包含一个id
,但谁知道未来会带来什么
$special_products = array(606);
然后只需在此代码中添加另一个测试,然后输出您想要的任何内容,而不是之前所做的内容
if ( ! $_product->is_visible() ) {
echo $thumbnail;
} else {
if ( in_array($_product->id, $special_products) ) {
echo 'Something else, whatever you like';
} else {
printf( '<a href="%s">%s</a>', $_product->get_permalink( $cart_item ), $thumbnail );
}
}