嗨,我正在为wordpress工作wp_query,它对我来说很好。分页正在模板页面上工作,但是当我创建一个短代码并尝试显示分页时,它不起作用但是相同的代码正在处理模板文件 这是我的查询
$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$wp_query = new WP_Query();
$wp_query->query('cat=4&showposts=5'.'&paged='.$paged);
内容显示代码
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php the_title(); ?>
最终的分页
<?php endwhile; ?>
<div class="twf_pagination">
<?php echo paginate_links( $args ); ?>
</div>
谁能告诉我我做错了什么?我该如何解决?感谢名单
答案 0 :(得分:-1)
您完全违反了主要查询。您在此处遇到以下问题:
请勿使用变量$wp_query
。这是主查询使用和设置的全局变量。而是使用像$my_query
这样的变量。查看代码,WP_Query
,了解如何构建正确的自定义查询
我没有看到您正在重置postdata。在您的分页功能
wp_reset_postdata()
请记住,应返回短代码的输出,而不是echod。要么使用缓冲区来保存输出并在结尾处返回,要么将输出添加到变量并返回该变量。查看Shortcode API并了解如何正确构建短代码
查看有关如何在自定义查询中正确使用使用功能的代码,paginate_links()