3

我是这里的wordpress新手,所以请放轻松。

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

我刚刚创建了一个自定义模板,该模板引入了两个具有相同标签名称的不同分类法。为此,我创建了一个名为 tags 的页面,该页面使用我的自定义模板,并且我有一个自定义链接,其结构如下: 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 文件?

非常感谢您的帮助!

4

0 回答 0