如何在wordpress短代码中显示分页?

时间:2015-01-20 06:34:11

标签: php wordpress

嗨,我正在为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>
谁能告诉我我做错了什么?我该如何解决?感谢名单

1 个答案:

答案 0 :(得分:-1)

您完全违反了主要查询。您在此处遇到以下问题:

  • 请勿使用变量$wp_query。这是主查询使用和设置的全局变量。而是使用像$my_query这样的变量。查看代码,WP_Query,了解如何构建正确的自定义查询

  • 我没有看到您正在重置postdata。在您的分页功能

  • 后直接使用wp_reset_postdata()
  • 请记住,应返回短代码的输出,而不是echod。要么使用缓冲区来保存输出并在结尾处返回,要么将输出添加到变量并返回该变量。查看Shortcode API并了解如何正确构建短代码

  • 查看有关如何在自定义查询中正确使用使用功能的代码,paginate_links()