【问题标题】:Redirect product SKU from Url to the related product in WooCommerce将产品 SKU 从 Url 重定向到 WooCommerce 中的相关产品
【发布时间】:2020-09-27 08:51:35
【问题描述】:

我有一家 WooCommerce 商店,我想基本上将产品 SKU 从 Url 重定向到相关产品。

例如对于 Url domain.com/product/SKUID,用户应该被重定向到以下 url domain.com/product/product-name 或者应该打开产品页面。

我尝试了这个插件SKU Shortlink for WooCommerce,但它最终破坏了我的整个网站,造成“重定向过多”的问题。任何帮助表示赞赏。

【问题讨论】:

    标签: php wordpress redirect woocommerce sku


    【解决方案1】:

    您不需要任何插件...您可以使用挂钩在 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 文件中。经过测试并且可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-10
      • 2022-10-09
      • 2014-07-04
      • 2023-03-14
      • 1970-01-01
      • 2018-11-09
      相关资源
      最近更新 更多