#php #wordpress #woocommerce #printf
#php #wordpress #woocommerce #printf
Вопрос:
Как мне создать функцию 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 необходимо заполнить номером заказа, чтобы при нажатии на ссылку пользователь получал отправку в правильном порядке в своем меню заказов.
Ответ №1:
Вы можете добавить переменную к ссылке в почтовом сообщении WooCommerce, используя HTML со встроенным PHP:
<a href="https://example.com/view-order/<?php echo $order->get_order_number();?>/">View your order details.</a>
Ответ №2:
$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);
Это работает нормально. При возникновении каких-либо проблем, пожалуйста, проверьте правильность получения номера вашего заказа перед отправкой printf.
Протестировано нормально
Ответ №3:
В вашем коде замените ненужное '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() ) ); ?>
Это приведет к появлению ovoid 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>'; ?>
Протестировано и тоже отлично работает.