Это потому, что функции wordpress the_permalink()
и the_title()
отображают соответствующие результаты, которые уже не нужно отображать.Если вам нужны функции, которые возвращают значения, вы должны использовать get_permalink()
и get_the_title()
.
Так что либо:
<div id="MyBlock1">
<?php
$query = new WP_Query('posts_per_page=5');
while( $query ->have_posts() ) : $query ->the_post();
echo '<li>';
echo '<a href="'.get_permalink().'">'.get_the_title().'</a>';
echo '</li>';
endwhile;
wp_reset_postdata();
?>
</div>
или
<div id="MyBlock1">
<?php
$query = new WP_Query('posts_per_page=5');
while( $query ->have_posts() ) : $query ->the_post();
echo '<li><a href="';
the_permalink();
echo '">';
the_title();
echo '</a></li>';
endwhile;
wp_reset_postdata();
?>
</div>
Оба будут работать.