将Woocommerce产品直接链接到外部网站(跳过详细信息页面)


Link Woocommerce Products directly to external site (skip detailpage)

WP:3.71主题:Jupiter(artbees)v.3.02网址:http://thefastlearners.com/store/

大家好,我有一些Woocommerce的产品是外部链接到亚马逊或其他网站的。

我的目标是直接从商店页面将这些产品链接到它们的外部页面,而不需要详细信息页面!

已经尝试了可见性选项扩展,但没有改变任何事情。

以下是content-product.php的原始摘录:`

$mk_add_to_cart=';id))';"class="add_to_cart_button">';.apply_filters(';out_of_stock_add_to_cart_text';,(';阅读更多';,';wooccommerce';));;$out_of_stock_badge=''(';缺货';,';wooccommerce';)'';;}其他{?>

switch ( $product->product_type ) {
case "external" :
    $link  = apply_filters( 'external_add_to_cart_url', get_permalink( $product->id ) );
    $label  = apply_filters( 'external_add_to_cart_text', __( 'Read More', 'woocommerce' ) );
    $icon_class = 'mk-moon-search-3';
    break;
default :
    $link  = apply_filters( 'add_to_cart_url', esc_url( $product->add_to_cart_url() ) );
    $label  = apply_filters( 'add_to_cart_text', __( 'ADD TO CART', 'woocommerce' ) );
    $icon_class = 'mk-moon-cart-plus';
    break;
}
if ( $product->product_type != 'external' ) {
    $mk_add_to_cart = &#039;<a href="&#039;. $link .&#039;" rel="nofollow" data-product_id="&#039;.$product->id.&#039;" class="add_to_cart_button product_type_&#039;.$product->product_type.&#039;"><i class="&#039;.$icon_class.&#039;"></i>&#039;. $label.&#039;</a>&#039;;
}
else {
    $mk_add_to_cart = &#039;&#039;;
}

}`

我把它改成

´<?php
$mk_add_to_cart = &#039**;<a href="<?php echo esc_url( $product_url )**; ?>" rel="nofollow" class="single_add_to_cart_button shop-flat-btn shop-skin-btn alt"></a>&#039;;
$out_of_stock_badge = &#039;<span class="mk-out-stock">&#039;.__( &#039;OUT OF STOCK&#039;, &#039;woocommerce&#039; ).&#039;</span>&#039;;

}其他{?>

switch ( $product->product_type ) {
case "external" :
    $link     = apply_filters( &#039;external_add_to_cart_url&#039;, esc_url( $product_url ) );
    $label     = apply_filters( &#039;external_add_to_cart_text&#039;, __(&#039;Read More&#039;, &#039;woocommerce&#039;) );
    $icon_class = &#039;mk-moon-search-3&#039;;
    break;
default :
    $link  = apply_filters( &#039;add_to_cart_url&#039;, esc_url( $product_url ) );
    $label  = apply_filters( &#039;add_to_cart_text&#039;, __( &#039;ADD TO CART&#039;, &#039;woocommerce&#039; ) );
    $icon_class = &#039;mk-moon-cart-plus&#039;;
    break;
}
if ( $product->product_type != &#039;external&#039; ) {
    $mk_add_to_cart = &#039;<a href="&#039;. $link .&#039;" rel="nofollow" data-product_id="&#039;.$product->id.&#039;" class="add_to_cart_button product_type_&#039;.$product->product_type.&#039;"><i class="&#039;.$icon_class.&#039;"></i>&#039;. $label.&#039;</a>&#039;;
}
else {
    $mk_add_to_cart = &#039;&#039;;
}`

没有任何结果,除了我没有任何按钮来添加任何内容。

从external.php模板中,我已经发现该命令应该是<?php echo esc_url( $product_url ); ?>

但我不知道该放在哪里/链接它。

如果你能在这里帮我,那就太好了。一旦我开始工作,我可以自己更改标题和图片的链接。

谢谢,Mattis

您应该尝试$product->product_url而不是普通的$product_url

这对我在content-product.php页面上起到了作用。