что вы сейчас делаете неправильно ... get_product_url
назван как то, что он делает. Это даст вам url ... не html-якорь, у которого есть URL-адрес, а только URL-адрес .. так что вы просто добавляете текст в url .. вот что вы делаете ...
One решение дается @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');
}
это не будет работать, потому что URL является ссылка ... вы добавляете некоторые тексты на ссылку, это то, что вы делаете сейчас .. – Reigel