个性化阅读
专注于IT技术分析

Woocommerce Add_Rewrite_Rule不适用于商店页面

我要以下网址:

https://www.example.com/shop/keyword/

可以按以下网址工作。 (下面的一个很好。)

https://www.example.com/shop/?search_text=keyword

将以下代码添加到functions.php时, 我可以在/ search /页面上实现此行为。

function my_rewrite_rule() {
    add_rewrite_rule('^search/([^/]*)?', 'index.php?pagename=search&search_text=$matches[1]', 'top');
}

但相同的代码不适用于/ shop /页面。

正常行为应该是列出所有产品。但是/ shop /页面URL没有显示结果。

编辑:即使永久链接刷新后, 它也不起作用。


#1


我可能无法完全理解你的问题, 但这是你要尝试做的吗?

在此处输入图片说明

如果是这样, 则/ shop /存档的WooCommerce查询匹配post_type = product。

尝试使用此重写规则, 并通过转到WordPress仪表板中的”设置”->”永久链接”, 然后单击”保存”按钮来刷新永久链接。

/**
 * Add rewrite rule from `/shop/keyword/` to `shop/?search_text=keyword`
 *
 * @link https://stackoverflow.com/questions/56467044/woocommerce-add-rewrite-rule-not-working-for-shop-page
 */
add_action( 'init', function (): void {
    add_rewrite_rule(
        '^shop/([^/]*)?', 'index.php?post_type=product&search_text=$matches[1]', 'top'
    );
} );
赞(0)
未经允许不得转载:srcmini » Woocommerce Add_Rewrite_Rule不适用于商店页面

评论 抢沙发

评论前必须登录!