将产品 SKU 从 Url 重定向到 WooCommerce 中的相关产品
Redirect product SKU from Url to the related product in WooCommerce
我有一个 WooCommerce 商店,我想基本上将产品 SKU 从 Url 重定向到相关产品。
因此,例如对于 Url domain.com/product/SKUID
,用户应该被重定向到以下 url domain.com/product/product-name
或者应该打开产品页面。
我试过这个插件 SKU Shortlink for WooCommerce 但它最终破坏了我的整个网站,造成“太多重定向”问题。感谢任何帮助。
你不需要任何插件...你可以使用以下挂钩在 template_redirect
操作挂钩中的自定义简单函数,它将从 domain.com/product/SKUID
重定向到相关的 WooCommerce 产品单页。
代码使用内置函数 wc_get_product_id_by_sku()
从产品 sku 中检索产品 ID。
然后如果产品 sku 与现有产品匹配,用户将被重定向到产品单页。
代码:
add_action('template_redirect', 'sku_product_redirect');
function sku_product_redirect() {
// Get the sku string from Url
$sku = get_query_var('product');
if ( ! empty( $sku ) ) {
// Get the product Id from a product sku string
$product_id = (int) wc_get_product_id_by_sku( $sku );
if( $product_id > 0 ) {
wp_safe_redirect( get_permalink($product_id) );
exit;
}
}
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。已测试并有效。
我有一个 WooCommerce 商店,我想基本上将产品 SKU 从 Url 重定向到相关产品。
因此,例如对于 Url domain.com/product/SKUID
,用户应该被重定向到以下 url domain.com/product/product-name
或者应该打开产品页面。
我试过这个插件 SKU Shortlink for WooCommerce 但它最终破坏了我的整个网站,造成“太多重定向”问题。感谢任何帮助。
你不需要任何插件...你可以使用以下挂钩在 template_redirect
操作挂钩中的自定义简单函数,它将从 domain.com/product/SKUID
重定向到相关的 WooCommerce 产品单页。
代码使用内置函数 wc_get_product_id_by_sku()
从产品 sku 中检索产品 ID。
然后如果产品 sku 与现有产品匹配,用户将被重定向到产品单页。
代码:
add_action('template_redirect', 'sku_product_redirect');
function sku_product_redirect() {
// Get the sku string from Url
$sku = get_query_var('product');
if ( ! empty( $sku ) ) {
// Get the product Id from a product sku string
$product_id = (int) wc_get_product_id_by_sku( $sku );
if( $product_id > 0 ) {
wp_safe_redirect( get_permalink($product_id) );
exit;
}
}
}
代码进入您的活动子主题(或活动主题)的 functions.php 文件。已测试并有效。