URL Redirect in Wordpress

时间:2013-03-14 作者:user2170580

我在wordpress中重定向某个url时遇到问题。我需要重写以下URL:

第一个URL如下所示:http://example.com/news/?news=2 其中news=2是新闻id,我使用$\\u GET[\'news\')获取此id。我想将上面的url重写为http://example.com/news/2/

第二个URL是这样的:示例[点]com/产品列表/?pp=2和;page=3/我想将其重写为示例[点]com/产品列表/2/3/

提前感谢您的帮助。

1 个回复
SO网友:david.binda

对于这种重写,我使用以下代码(尚未准确测试此代码,因此可能包含一些小错误):

add_filter( \'query_vars\', \'binda_query_vars\' );
function binda_query_vars( $vars ) {
    $vars[] = \'pp\';
    return $vars;
}

add_action( \'generate_rewrite_rules\', \'binda_rewrite_rules\' );
function binda_rewrite_rules( $wp_rewrite )
{
    $wp_rewrite->rules = array(
        \'news/([0-9]{1,})/([0-9]{1,})/?$\' => $wp_rewrite->index . \'?post_type=news\' . \'&pp=\' . $wp_rewrite->preg_index( 1 ) . \'&paged=\' . $wp_rewrite->preg_index( 2 ),
        \'news/([0-9]{1,})/?$\' => $wp_rewrite->index . \'?post_type=news\' . \'&pp=\' . $wp_rewrite->preg_index( 1 ),
        \'product-list/([0-9]{1,})/([0-9]{1,})/?$\' => $wp_rewrite->index . \'?post_type=product\' . \'&pp=\' . $wp_rewrite->preg_index( 1 ) . \'&paged=\' . $wp_rewrite->preg_index( 2 ),
        \'product-list/([0-9]{1,})/?$\' => $wp_rewrite->index . \'?post_type=product\' . \'&pp=\' . $wp_rewrite->preg_index( 1 ),
    ) + $wp_rewrite->rules;
}
您可能需要将post\\U type=新闻和post\\U type=产品替换为系统中创建的相应post\\U类型。

Note 如果这不能替换模板中的永久链接,则必须手动执行。

结束

相关推荐