404当我访问POST-TYPE的第二页时出错

时间:2012-09-28 作者:Batman

如何修复此问题,当我访问post type的第二页时,出现错误404:

web.site/clipuri/2012/

web.site/clipuri/2012/page/2/

register_post_type(\'clip\', array(   \'label\' => \'Clip\',\'description\' => \'\',\'public\' => true,\'show_ui\' => true,\'show_in_menu\' => true,\'capability_type\' => \'post\',\'hierarchical\' => true,
\'rewrite\' => array(\'slug\' => \'\'),
\'query_var\' => true,\'has_archive\' => true,
\'menu_position\' => 5,\'supports\' => array(\'title\',\'editor\',\'custom-fields\',\'category\', \'post_tag\',),
\'labels\' => array (
\'name\' => \'Clip\',
  \'singular_name\' => \'Clip\',
  \'menu_name\' => \'Clip\',
  \'add_new\' => \'Add Clip\',
  \'add_new_item\' => \'Add New Clip\',
  \'edit\' => \'Edit\',
  \'edit_item\' => \'Edit Clip\',
  \'new_item\' => \'New Clip\',
  \'view\' => \'View Clip\',
  \'view_item\' => \'View Clip\',
  \'search_items\' => \'Search Clipuri\',
  \'not_found\' => \'No Clip Found\',
  \'not_found_in_trash\' => \'No Clip Found in Trash\',
  \'parent\' => \'Parent Clip\',
),) );

register_taxonomy("clipuri","clip", array("hierarchical" => true, "label" => "Cat Clip", \'show_ui\' => true, \'query_var\' => true, "singular_label" => "clipuri", "rewrite" => true, \'with_front\' => true));
在我使用的主题中:

<?php global $wp_query;
$args = array_merge( $wp_query->query, array( \'post_type\' => \'clip\')  );
query_posts( $args ); ?>

<div class="nav">
<?php if(function_exists(\'wp_paginate\')) {wp_paginate();} ?>
</div>

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

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

对于修改主查询,我认为最好利用pre_get_posts 行动

使用时pre_get_posts 这个$query 变量是“通过引用”传递的,这意味着我们可以直接操作$query 对象的快捷方式功能,如set_query_var. 从分类法模板中删除查询代码,然后在函数中尝试以下操作。php:

function wpa_66609( $query ) {
    if ( is_tax(\'clipuri\') && is_main_query() ) {
        set_query_var( \'post_type\', array(\'post\',\'clip\' ) );
    }
}
add_action( \'pre_get_posts\', \'wpa_66609\' );
如果这不起作用,我将尝试调试它。

结束

相关推荐

分类-{axnonomy}.php不起作用

我刚刚为wordpress网站创建了一个自定义帖子类型(公文包)。我还添加了一个名为(portfoliocategory)的自定义分类法。我已经为我的自定义帖子类型(归档公文包)创建了一个归档页面,该页面工作正常,但我需要自定义分类法模板的帮助,我已经创建了分类法portfoliocategory。php,但它显示的是默认的归档页面,而不是分类页面模板!!