在过去三天的大部分时间里,我一直在尝试各种方法,而且我已经在StackOverflow和Wordpress支持上搜索了无数的回复。是否可以在我的插件中为管理员列出帖子进行分页?
我的插件显示管理员的帖子,以便他们可以查看某些详细信息并为每个页面添加/编辑特定选项。我意识到这可以使用每个页面上的元数据完成,但我需要以这种方式完成:一次加载,比方说,25个帖子,并允许管理员添加每个页面的细节。
我已经尝试过每一个变体(我只说每一个,但我只是说我可以在Google的前20页左右找到各种搜索短语的变体)previous_posts_links
,{{1等等;我已经尝试使用自定义paginate_links()
函数,实例化一个新的wp_query并在我完成时恢复它(不推荐),并且完全避免使用wp_query()
。我尝试添加query_posts()
函数 - 但是在这一点上,pre_get_posts()
可能比运行新的get_posts()
更快,显然使用分页结果会更加困难。
我尝试过的代码包含了这种想法的各种变体:
wp_query()
(我已经删除了保存内容的选项,因此更容易阅读)。注意到这一点:<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$my_query = new WP_Query(
array(
'number' => -1,
'posts_per_page' => '25',
'paged' => $paged
) );
while ($my_query->have_posts()) : $my_query->the_post();
echo "<div style='border:2px groove black; margin-bottom:5px;'><h3 class='postlist'>";
the_title();
echo "</h3></div>";
endwhile; ?>
<nav>
<?php previous_posts_link('« Newer', $my_query->max_num_pages) ?>
<?php next_posts_link('Older »', $my_query->max_num_pages) ?>
</nav>
我也尝试过它作为'page'而不是'paged'而且没有任何效果。
此功能显示我需要的内容:我想要加载的帖子数量,它似乎正确分页,并且分页的URL正确,但点击生成的任何分页链接什么都不做< / em>的
我已经尝试了Chris Coyier关于$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
的解决方案,然后恢复了但是这也无效。
任何想法让这个工作?非常感谢你提前!我每天都在扯掉头发几个小时,几乎无处可去。
编辑:此示例(下面)也直接从Codex中提取,生成编号的链接,但虽然它们具有正确的分页路径/ URL 但实际上并没有进入第2页,页面3,等等。
$temp = wp_query... etc
它为我提供了1,2,3 Next的链接 - 但是即使网址附加$big = 999999999; // need an unlikely integer
echo paginate_links( array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $my_query->max_num_pages
) );
,链接也无效。
答案 0 :(得分:1)
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
可能是你的问题 - 你可以试试......
$paged = isset($_GET['paged']) ? $_GET['paged'] : 1;
您的分页链接需要引用分页而不是分页。