Вопрос: Продолжайте получать постоянную ссылку с WP_Query?

У меня есть этот код ниже, и я хочу показать каждую ссылку каждого поста, но я продолжаю получать одну и ту же ссылку на все посты, которая является ссылкой страница.

$args = array('posts_per_page' => 5,'order' => 'DESC');$rp = new WP_Query($args);if($rp->have_posts()) :while($rp->have_posts()) : $rp->the_post();   the_title(); $link=the_permalink();echo '<a href="'.$link.'">Welcome</a>';echo "<br />";endwhile;wp_reset_postdata(); endif;

Спасибо.

Ответы и комментарии:

Это может не решить вашу проблему, но мне интересно, почему вы храните ваши постоянные ссылки в переменной. Вы можете использовать его напрямую.
Создан 07-04-2017 12:18 Jack Johansson♦

esc_url () не помогло, я получил тот же результат. Вторая команда просто отлично работает :), спасибо
Создан 07-04-2017 11:37 eawedat

В целях безопасности важно использовать экранирующие функции, такие как esc_url, esc_html, esc_attr. :) Этот URL может быть полезен для вас: Функции WordPress Escape
Создан 07-04-2017 11:53 kiarashi

подскажите пожалуйста, почему при использовании the_permalink (); один без эха или чего-либо еще, он будет работать, в то время как при использовании его в качестве ссылки или ссылки, как указано выше, он не работает?
Создан 07-04-2017 11:35 eawedat

Может быть, этот сайт может прояснить для вас: get_permalink WP Codex
Создан 07-04-2017 11:12 kiarashi

2017-04-07 12:32:25Z
Создан 01-01-1970 12:00 0

Не забудьте использовать esc_url ()
echo ' Добро пожаловать ';

Также попробуйте это: get_permalink (get_the_ID ());
Создан 07-04-2017 11:15 kiarashi10411

$ args = array ('posts_per_page' => 5, 'order' => 'DESC');
$ rp = новый WP_Query ($ args);
if ($ rp-> have_posts ()):
    $ i = 0;
    $ link = '';
    while ($ rp-> have_posts ()): $ rp-> the_post ();
        the_title ();
        if ($ i == 0) $ link = get_permalink ();

        echo ' Добро пожаловать ';
        echo "
";
        $ Я ++;
    ENDWHILE;

    wp_reset_postdata ();

ENDIF;

это ядро ​​получить только первый пост ссылку
Создан 07-04-2017 11:34

Вам не хватает get_the_ID () внутри цикла. Вот почему он показывает постоянную ссылку первого сообщения для каждого сообщения в цикле;
Попробуйте этот код
$ args = array ('posts_per_page' => 5, 'order' => 'DESC');
$ rp = новый WP_Query ($ args);
if ($ rp-> have_posts ()):
while ($ rp-> have_posts ()): $ rp-> the_post ();

   the_title ();

$ = Ссылка get_the_permalink (get_the_ID ()); // get_the_ID () получает идентификатор сообщения в цикле
echo ' Добро пожаловать ';
echo "
";

ENDWHILE;

wp_reset_postdata ();

ENDIF;

Примечание: пожалуйста, проверьте документацию для лучшего понимания.
Создан 07-04-2017 12:36