WooCommerce:获取 URL 分页商店存档
WooCommerce: Get URL of paged shop archive
我需要 link 到分页商店存档 URL 以将其添加为 rel=canonical
。
默认情况下,WooCommerce 似乎总是使用“所有产品”页面的 URL。
例如:所有产品存档页面有以下URL:
https://example.com/shop/
如果我转到第 2 页,URL 仍然是上面的那个。
但正确的版本是:
https://example.com/shop/page/2/
我尝试用 Yoast 重写 rel=canonical
标签,想用 /page/
显示当前的 URL。
所以我尝试了这个:
$canonical = home_url( $wp->request );
还有这个:
$canonical = home_url( add_query_arg( array(), $wp->request ) );
遗憾的是没有成功。它总是只显示主页的 URL (https://example.com
)
有什么办法可以得到页码吗?
好的,找到解决方案了。
$wp->request
似乎不适用于 WooCommerce 商店存档。
这是一个有效的解决方案。但它有一些硬编码的 URL 部分:
$canonical = get_permalink(woocommerce_get_page_id( 'shop' )).'page/'.get_query_var('paged').'/';
不知道在URL上加/page/
有没有更好的解决办法。
我需要 link 到分页商店存档 URL 以将其添加为 rel=canonical
。
默认情况下,WooCommerce 似乎总是使用“所有产品”页面的 URL。
例如:所有产品存档页面有以下URL:
https://example.com/shop/
如果我转到第 2 页,URL 仍然是上面的那个。 但正确的版本是:
https://example.com/shop/page/2/
我尝试用 Yoast 重写 rel=canonical
标签,想用 /page/
显示当前的 URL。
所以我尝试了这个:
$canonical = home_url( $wp->request );
还有这个:
$canonical = home_url( add_query_arg( array(), $wp->request ) );
遗憾的是没有成功。它总是只显示主页的 URL (https://example.com
)
有什么办法可以得到页码吗?
好的,找到解决方案了。
$wp->request
似乎不适用于 WooCommerce 商店存档。
这是一个有效的解决方案。但它有一些硬编码的 URL 部分:
$canonical = get_permalink(woocommerce_get_page_id( 'shop' )).'page/'.get_query_var('paged').'/';
不知道在URL上加/page/
有没有更好的解决办法。