У меня такой код:

<?php
    query_posts(array(
        'posts_per_page'   => -1,
        'post_type' => 'sample-letter',
        'order' => 'ASC'
    ));

    while(have_posts()){
        the_post();

        echo '<div class="col-md-9"><span class="title"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">title</a></span><br />';
    }

    wp_reset_query();
?>

Он отлично работает, но проблема в том, что я не могу использовать:

<?php the_permalink() ?>

ВНУТРИ заявления echo. Это простая ссылка, и вместо того, чтобы отображать URL-адрес ссылки, она выводит:

http://sitename.com/<?php the_permalink() ?>

Вместо того:

http://sitename.com/thelink

Как я могу заставить этот цикл работать без echo? Это вообще проблема?

-1
lowercase 26 Фев 2014 в 23:53

1 ответ

Лучший ответ

Используйте часть echo как;

echo '<div class="col-md-9"><span class="title"><a href="' . the_permalink() . '" rel="bookmark" title="Permanent Link to ' . the_title_attribute() . '">title</a></span><br />';

Или вы можете использовать;

$current_post_id = get_the_ID(); // id of current post in the loop
$permalink = get_permalink( $current_post_id );
$title = get_the_title( $current_post_id );

echo '<div class="col-md-9"><span class="title"><a href="' . $permalink . '" rel="bookmark" title="Permanent Link to ' . $title . '">' . $title . '</a></span><br />';
2
Hüseyin BABAL 27 Фев 2014 в 01:23
Это прекрасно работает! Одна проблема, теперь это ссылка на ту же страницу, на которой я нахожусь. Есть идеи, как заставить его ссылаться на отдельную страницу сообщения для каждого экземпляра в запросе?
 – 
lowercase
27 Фев 2014 в 00:59
Вы можете использовать the_ID как параметр в get_permalink. Смотрите мой обновленный ответ
 – 
Hüseyin BABAL
27 Фев 2014 в 01:04
Это работает лучше, но перед тем, как сделать то, что нужно, он перечисляет каждый идентификатор и заголовок в большой строке. почему это / как мне от этого избавиться?
 – 
lowercase
27 Фев 2014 в 01:14
Это была моя ошибка. Я использовал the_ID вместо get_the_ID. Я исправил это, см. Мой обновленный ответ
 – 
Hüseyin BABAL
27 Фев 2014 в 01:16
Снова лучше! но одна последняя проблема. как сделать так, чтобы заголовок сообщения отображался в виде ссылки? Я использую ' . the_title. ' вместо слова "title" выше, но это разрывает ссылку.
 – 
lowercase
27 Фев 2014 в 01:21