如何解决将产品SKU从Url重定向到WooCommerce中的相关产品
我有一个WooCommerce商店,我想基本上将产品SKU从Url重定向到相关产品。
例如,对于网址domain.com/product/SKUID
,应将用户重定向到以下网址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文件中。经过测试,可以正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。