首先,你不应该使用query_posts
构造自定义查询。这不仅是我的重点,也是抄本。最大的问题是query_posts
在许多情况下,分页都会失败
Note: 此功能不适用于插件或主题。如后文所述,有更好、性能更好的选项来更改主查询。query\\u posts()是一种过于简单且有问题的方法,通过将页面的主查询替换为新的查询实例来修改它。它效率低下(重新运行SQL查询),并且在某些情况下会彻底失败(尤其是在处理POST分页时)。
您需要使用构造自定义查询WP_Query
.
看看the_title( $before, $after, $echo );
. 以下是参数
$before
<要放置在标题之前的(字符串)(可选)文本。
默认值:无
$after
<标题后要放置的文本(字符串)(可选)。
默认值:无
$echo
- (布尔)(可选)显示标题(TRUE)或返回标题以在PHP中使用(FALSE)
- 默认值:TRUE
the_title( \'<a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a>\' );
然后,您的查询应该与前面所述的所有查询类似。在我忘记之前,
showposts
已经贬值很长时间了,取而代之的是
posts_per_page
. 如果您在wp config中将debug设置为true,那么您应该在前端收到一个折旧通知,该通知会指出这一点。阅读此处:
Debugging Wordpress<?php
$args = array(
\'cat\' => 4,
\'posts_per_page\' => 1
);
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo \'<ul>\';
while ( $the_query->have_posts() ) {
$the_query->the_post();
the_title( \'<a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a>\' );
}
echo \'</ul>\';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();