自定义邮政分页问题

时间:2013-06-13 作者:Boute

我确实对自定义后分页有问题。昨天我在这个网站上搜索了一整天,没有发现任何与我经历相似的东西(或者说我失明了……)。

这是我的自定义帖子“配方”:

register_post_type( \'recipe\', array(
\'labels\' => array(
    \'name\'               => __(\'Recipes\'),
    \'singular_name\'      => __(\'Recipe\'),
    \'add_new\'            => __(\'Add New\'),
    \'add_new_item\'       => __(\'Add new Recipe\'),
    \'view_item\'          => __(\'View Recipe\'),
    \'edit_item\'          => __(\'Edit Recipe\'),
    \'new_item\'           => __(\'New Recipe\'),
    \'view_item\'          => __(\'View Recipe\'),
    \'search_items\'       => __(\'Search Recipes\'),
    \'not_found\'          => __(\'No Recipes found\'),
    \'not_found_in_trash\' => __(\'No Recipes found in Trash\'),
),
\'public\'        => true,
\'show_ui\'       => true,
\'hierarchical\'  => true,
\'supports\'      => array(\'title\', \'editor\', \'thumbnail\'),
\'menu_position\' => 100,
\'menu_icon\'     => get_stylesheet_directory_uri() . \'/images/icon_recipe.png\',
\'rewrite\'       => array(
    "slug"       => "recipe",
    "with_front" => false,
            "pages"      => true
)
) );
我需要在我的配方页面上加载6个配方,然后使用jQuery在AJAX中加载接下来的6个配方。代码实际上获取“下一页”URL(隐藏在我的页面中)来执行此操作。

问题是,尽管url是正确的(/recettes/page/2/),它仍会继续加载前6个食谱。

当我尝试直接在地址栏中加载此页面时,它会重定向到/recettes/(这是我的第一页)。即使我在模板文件的顶部放置一个骰子(“测试”),它也永远不会到达那里。这可能只与URL重写有关吗?

这是我的。htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
奇怪的是,同样的机制适用于新闻部分。。。有什么想法吗?非常感谢你的帮助!

马特

附:如果你想看一下,这是页面:http://www.francoischartier.ca/recettes/

PPS:这是有效的新闻部分:http://www.francoischartier.ca/chartier/nouvelles/

以下是页面模板中的配方查询:

            $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
            $args = array(
                \'post_type\'      => \'recipe\',
                \'posts_per_page\' => 6,
                \'order\'          => \'ASC\',
                \'orderby\'        => \'post_title\',
                \'tax_query\'      => array(),
                \'paged\'          => $paged,
                                    \'caller_get_posts\' => 1
            );

2 个回复
最合适的回答,由SO网友:Boute 整理而成

最后,我终于解决了这个问题。问题是由插件404重定向引起的。它捕获了我的URL并决定需要在我的URL上添加301重定向,然后将其发送到URL而不分页。。。

SO网友:Milo

他们不一样。您的新闻页面是帖子页面,而您的食谱页面是一种页面帖子类型,您使用自定义查询加载帖子。通过查看添加到body标记的类可以看出这一点。我假定您的自定义查询没有传递给它的分页参数,但您必须向我们显示模板中的代码才能确认。

如果你要设置has_archivetrue 当您注册帖子类型并使用帖子类型归档页面而不是自定义查询时,您的AJAX分页可能会起作用。

结束

相关推荐

Pagination on a page

我有一个页面,其中显示了大量自定义帖子类型的帖子,就像博客显示了大量帖子一样。我正在使用WP_Query 并且正确输出分页链接,但是当我导航到第2页url时(/my_page/page/2) 我得到了404,这并不奇怪,因为我认为WordPress认为我需要子页面。。。但我不想,我想要那个值作为分页值。有没有办法在特定页面上启用此功能?