我确实对自定义后分页有问题。昨天我在这个网站上搜索了一整天,没有发现任何与我经历相似的东西(或者说我失明了……)。
这是我的自定义帖子“配方”:
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
);