Как мне сделать функцию printf для отображения html-ссылки, заполненной переменной woocommerce? Смотрите код ниже:
<?php printf('<a href="https://www.baseclothing.nl/mijn-account/view-order/%s/">https://www.baseclothing.nl/mijn-account/view-order/%s/</a>', 'woocommerce', esc_html( $order->get_order_number() ) ); ?>
Ссылка, на которую я получаю отправку: https://www.baseclothing.nl/mijn-account/view-order/woocommerce/. Переменная% s должна быть заполнена номером заказа, чтобы при щелчке по ссылке пользователь получал право на правильный заказ в меню своих заказов.
$ord_number = 10; //esc_html( $order->get_order_number() ) printf('<a href="https://www.baseclothing.nl/mijn-account/view-order/%s/">https://www.baseclothing.nl/mijn-account/view-order/%s/</a>', 'woocommerce', $ord_number);
Это отлично работает. Если возникнут какие-либо проблемы, пожалуйста, проверьте правильность номера вашего заказа перед печатью.
Проверено ОК
В вашем коде Замените ненужные 'woocommerce' на esc_html( $order->get_order_number() ), так как номер заказа требуется два раза (две одинаковые ссылки) :
'woocommerce'
esc_html( $order->get_order_number() )
<?php printf('<a href="https://www.baseclothing.nl/mijn-account/view-order/%s/">https://www.baseclothing.nl/mijn-account/view-order/%s/</a>', esc_html( $order->get_order_number() ), esc_html( $order->get_order_number() ) ); ?>
Это приведет к замене woocommerce на нужный номер заказа в ссылке. Код работает и имеет правильную ссылку с номером заказа.
woocommerce
Теперь, когда вы дважды используете одну и ту же ссылку в своем коде, попробуйте вместо этого короткую версию:
<?php $url = sprintf('https://www.baseclothing.nl/mijn-account/view-order/%s/', esc_html( $order->get_order_number() ) ); echo '<a href="'.$url.'">'.$url.'</a>'; ?>
Протестировано и тоже отлично работает.
Вы можете добавить переменную к ссылке в письме WooCommerce, используя HTML со встроенным PHP:
<a href="https://example.com/view-order/<?php echo $order->get_order_number();?>/">View your order details.</a>