在wordpress中的永久链接中包含自定义变量时,分页失败

时间:2012-12-10 20:30:34

标签: wordpress .htaccess pagination permalinks

我是一个wordpress新手,所以请放轻松我。

我正在wordpress网站上工作,我遇到了两个问题,我似乎无法找到答案。我在wordpress网站上设置了永久链接,以及分页,例如,www.mysite.com/links/page/2将您带到第二页链接。

我刚刚创建了一个自定义模板,该模板引入了两个具有相同标记名称的不同分类法。为此,我创建了一个名为标签的页面,它使用我的自定义模板,我有一个自定义链接,其结构为:www.mysite.com/tags/?tag = mytag这很丑,但它可用于测试目的

当我转到第二页并且链接是:www.mysite.com/tags/?tag = mytag / page/2时,问题就出现了。

我不想搞砸我当前的固定链接,但我想添加一条新规则:a)阻止页面中断,b)实际上看起来不错。我希望链接只是www.mysite.com/tags/mytag/page/2

经过大量的挖掘后,我能够得到我认为正确的代码。这是我在我的主题目录中添加到functions.php中的内容:

add_action( 'generate_rewrite_rules', 'my_tag_rewrite_rules' );
//add_filter( 'query_vars', 'my_tag_query_vars' );

function my_tag_query_vars( $vars )
{
    // $vars[] = 'tag'; // might not need this because 'tag' should already be         registered
}
function my_tag_rewrite_rules( $wp_rewrite )
{
    $wp_rewrite->rules = array(
        'tags/([^/]+)/page/?([0-9]{1,})/?$' => $wp_rewrite->index . 'tags/?tag=' . $wp_rewrite->preg_index( 1 ) . '&paged=' . $wp_rewrite->preg_index( 2 ),
        'tags/([^/]+)/?$' => $wp_rewrite->index . 'tags/?tag=' .     $wp_rewrite->preg_index( 1 )

    ) + $wp_rewrite->rules;
}

(我注释掉add_filter部分因为'tag'已经是一个查询变量wordpress识别)。从我读到的内容看起来我需要做的就是进入wordpress仪表板并转到设置 - >永久链接,据说它会改变.htaccess。它没有。

我的第一个问题是:我的重写规则是否正确?其次,我需要做些什么才能让wordpress更新.htaccess文件?

非常感谢您的帮助!

0 个答案:

没有答案