在 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+产品尺寸,位于产品标题下方。

在 Woocommerce 存档页面上的产品价格后添加图标

php [在存档页面上显示产品尺寸]在存档页面上显示低于v3.0产品尺寸的WooCommerce,低于专业版的标题

php [在存档页面上显示产品尺寸]在存档页面上显示低于v3.0产品尺寸的WooCommerce,低于专业版的标题