在 WooCommerce 存档产品页面上更改分页基础 slug
Posted
技术标签:
【中文标题】在 WooCommerce 存档产品页面上更改分页基础 slug【英文标题】:Change pagination base slug on WooCommerce archive product page 【发布时间】:2021-11-28 08:53:16 【问题描述】:我想在 WooCommerce 存档页面上将分页 slug,当前的“page”更改为“strana”。
使用 url http://localhost/obchod/
和 http://localhost/obchod/page/2/
的默认设置可以正常工作。
当我更改分页基础并重新保存永久链接时,它不起作用。
最终网址应如下所示:http://localhost/obchod/strana/2/
这是我更改分页基础的代码:
function custom_rewrite_rules()
global $wp_rewrite;
$wp_rewrite->pagination_base = 'strana';
add_action('init', 'custom_rewrite_rules');
我总是在 WordPress 上重新保存永久链接,或者我使用 $wp_rewrite->flush_rules();
,但这些都不起作用。
请注意,此代码适用于 WordPress 分页,但不适用于 WooCommerce 分页商店页面。
我做错了什么?
【问题讨论】:
这能回答你的问题吗? change pagination link in WordPress 先生。乔,这不能解决我的问题。这仅适用于 WordPress,但 WooCommerce 存档产品页面上的分页仍然不起作用。 链接 localhost/obchod 中的 obchod 是什么?它的 wordpress 文件夹? 【参考方案1】:首先,我们需要更改 Wordpress 生成的链接的格式。由于我们只需要更改商店存档的分页格式,因此我们添加了一个条件标签 is_shop() ,因此另一个分页将保持旧格式。
function custom_rewrite_rules()
global $wp_rewrite;
if(is_shop())
$wp_rewrite->pagination_base = 'strana';
add_action('template_redirect', 'custom_rewrite_rules');
接下来,我们添加_rewrite_rule(),让Wordpress理解分页页面的新链接格式
add_rewrite_rule(
'^obchod/strana/([^/]+)/?',
'index.php?paged=$matches[1]',
'top'
);
obchod here = 您的店铺基地,默认其店铺 fow woocommerce 商店
测试更新
function custom_rewrite_rules()
global $wp_rewrite;
$wp_rewrite->pagination_base = 'strana';
add_action('init', 'custom_rewrite_rules');
add_rewrite_rule(
'^obchod/strana/([^/]+)/?',
'index.php?paged=$matches[1]&post_type=product',
'top'
);
【讨论】:
感谢 Orbital,它无法正常工作。这将从http://localhost/obchod/strana/2/
重定向到http://localhost/page/2/
。所以它重定向到第 2 页的主页。是的,你是对的,obchod 是商店基地。
禁用/启用您的 wordpess 上的永久链接以清除重写缓存。我在我的演示中对此进行了测试,它的工作 100%
你的永久链接结构是什么?你能屏蔽这个管理页面吗?
尝试更新以进行测试,并禁用/启用您的 wordpess 上的永久链接以清除重写缓存
我对 WordPress 和 WooCommerce 进行了全新安装,结果是一样的。网址重定向到http://localhost/page/2/
。在此操作后,我总是重新保存永久链接。我的永久链接结构设置为 Post name -> http://localhost/%postname%/
Shop base page slug 设置为 obchod。以上是关于在 WooCommerce 存档产品页面上更改分页基础 slug的主要内容,如果未能解决你的问题,请参考以下文章
php [在存档页面上显示产品尺寸]在存档页面上显示WooCommerce 3.0+产品尺寸,位于产品标题下方。
php [在存档页面上显示产品尺寸]在存档页面上显示WooCommerce 3.0+产品尺寸,位于产品标题下方。
php [在存档页面上显示产品尺寸]在存档页面上显示WooCommerce 3.0+产品尺寸,位于产品标题下方。