WooCommerce改变单一产品链接


WooCommerce change single product link

默认情况下,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 );
    }
}