Добавить запрос к тегу привязки - PullRequest
1 голос
/ 02 июля 2019

Я просто пытаюсь создать ссылку на страницу и пытаюсь передать ключ / значение вместе с запросом:

<a href=http://example.com?id=2075> Go to a page </a>

Вот мой код

<?php
  $my_url = add_query_arg( 'id', the_ID(), 'http://example.com' );
  echo $my_url;
?>

<a href="<?php echo site_url('/some-page?id=' . the_ID()); ?>">Go to some page</a>

Эхо выше выводит следующее:

2075http://example.com

Как передать параметр на страницу?

Ответы [ 2 ]

2 голосов
/ 02 июля 2019

Вы используете the_ID() неправильно.Эта функция напрямую отображает вывод.Итак, вам нужно использовать get_the_ID().

<?php
$my_url = add_query_arg( array( 'id' => get_the_ID() ), home_url( '/some-page/') );
?>

<a href="<?php echo esc_url( $my_url ); ?>">Go to some page</a>
1 голос
/ 02 июля 2019

Если вы посмотрите на документацию the_ID() здесь: https://developer.wordpress.org/reference/functions/the_id/

Вы увидите, что она делает echo get_the_ID()

Ваша проблема в том, что вы выводите скорее выводчем объединить его в строку.

Итак, выполнение

<?php
  $my_url = add_query_arg( array( 'id' => get_the_ID() ), home_url() );
?>

<a href="<?php echo esc_url( $my_url ); ?>">Go to some page</a>

Исправит вашу проблему

Кроме того, убедитесь, что вы понимаете разницу между site_url() и home_url() перед тем, как выбрать использование одного из двух: В чем разница между home_url () и site_url ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...