微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将产品SKU从Url重定向到WooCommerce中的相关产品

如何解决将产品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 举报,一经查实,本站将立刻删除。