gpt4 book ai didi

wordpress - 在新标签页中打开 WooCommerce 外部产品

转载 作者:行者123 更新时间:2023-12-05 08:43:05 26 4
gpt4 key购买 nike

我正在尝试自定义 WooCommerce 外部产品链接以在新选项卡中打开...

这是我的尝试:

在 WordPress 主题 functions.php 文件中添加了一个过滤器,如下所示:

add_filter( 'woocommerce_product_add_to_cart_url', 'woocommerce_externalProducts_openInNewTab' );

function woocommerce_externalProducts_openInNewTab($product_url) {

global $product;

if ( $product->is_type('external') ) {
$product_url = $product->get_product_url() . '"target="_blank""';
}

return $product_url;

}

我错过了什么?

最佳答案

您当前正在做的事情是错误的... get_product_url 被命名为它所做的事情。它会给你 url...不是具有 url 的 html anchor ,而只是 url.. 所以你只是向 url 添加一些文本.. 这就是你正在做的......

@Ash Patel 给出了一个解决方案。您可以使用模板更改标记...只需导航到您的插件文件夹并查找此文件.. woocommerce\templates\single-product\add-to-cart\external.php。您可以在其中找到说明。

现在,有时候,我们不喜欢编辑模板...尤其是像这样的小编辑...

下面的代码将按您想要的方式执行...只需将此代码粘贴到您主题的 functions.php 中即可。

remove_action( 'woocommerce_external_add_to_cart', 'woocommerce_external_add_to_cart', 30 );
add_action( 'woocommerce_external_add_to_cart', 'rei_external_add_to_cart', 30 );
function rei_external_add_to_cart(){

global $product;

if ( ! $product->add_to_cart_url() ) {
return;
}

$product_url = $product->add_to_cart_url();
$button_text = $product->single_add_to_cart_text();

do_action( 'woocommerce_before_add_to_cart_button' ); ?>
<p class="cart">
<a href="<?php echo esc_url( $product_url ); ?>" target="_blank" rel="nofollow" class="single_add_to_cart_button button alt"><?php echo esc_html( $button_text ); ?></a>
</p>
<?php do_action( 'woocommerce_after_add_to_cart_button' );
}

关于wordpress - 在新标签页中打开 WooCommerce 外部产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35237487/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com