重写规则和正则表达式-从http://domain.com/custom-post-type/category/cat-name/page/page-number中提取‘猫名’和‘页码’

时间:2013-11-04 作者:waffl

我的URL格式如下:

http://domain.com/custom-post-type/category/cat-name/page/page-number

我需要提取:

cat-namepage-number

所以在我的functions.php, 我可以创建自定义重写规则:

function my_insert_rewrite_rules( $rules ) {
  $newrules = array();
  $newrules[\'projects/category/(.+)/page/(\\d+)/?$\'] = \'index.php?post_type=project&project_cat=$matches[1]&paged=$matches[2]\';
  return $newrules + $rules;
}
我试图使用以下表达式:

projects/category/(.+)/page/(\\d+)/?$

在本例中,这似乎可以正常工作(避开正斜杠):http://rubular.com/r/5rzECsTexy

然而,这似乎从来都不起作用,URL:

http://domain.com/projects/category/printhttp://domain.com/projects/category/print/page/2 似乎总是404。

我以前的重写规则projects/category/(.*/?)$ 为该类别工作,但没有正确提取页码。

Edit自定义帖子类型注册码(在我的主题中function.php)

// Custom Post Types
add_action( \'init\', \'create_post_type\' );
function create_post_type() {
    register_post_type( \'project\',
        array(
            \'labels\' => array(
                \'name\' => __( \'Projects\' ),
                \'singular_name\' => __( \'Project\' )
            ),
        \'public\' => true,
        \'has_archive\' => true,
        \'taxonomies\' => array(\'category\'),
        \'rewrite\' => array(\'slug\' => \'projects\')
        )
    );
}

1 个回复
SO网友:Milo

您不需要自定义重写规则来处理此问题,只需将分类法重写段塞设置为:

\'rewrite\' => array( \'slug\' => \'projects/category/%project_cat%\' )

结束

相关推荐

Custom Admin Pagination links

我说的是所有帖子所在的wordpress管理区。我想问一下,是否有一种方法不仅可以显示第一个和最后一个分页链接,还可以显示中间的在中间。例1、2、3。。。。6,7最后一页。。我试图操纵wp_list_table 上课没有成功。