You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Elementor Loop Grid中获取品牌分类slug构建自定义店铺URL

解决Elementor Loop Grid品牌Logo链接到带Search and Filter筛选的店铺页问题

核心需求拆解

要把品牌Logo的默认品牌页链接,替换为带Search and Filter Pro品牌筛选参数的店铺页,关键是获取当前品牌的slug,再拼接成目标URL。

具体实现方案

方案1:自定义短代码+Elementor动态解析

  1. 添加短代码获取品牌slug
    打开主题(或子主题)的functions.php文件,插入以下代码:

    function get_woocommerce_brand_slug() {
        global $post;
        // 适配Woocommerce Brands默认的自定义分类法slug,若你的分类法slug不同请修改
        $brands = wp_get_post_terms($post->ID, 'product_brand', array('fields' => 'all'));
        if (!empty($brands)) {
            return $brands[0]->slug;
        }
        return '';
    }
    add_shortcode('brand_slug', 'get_woocommerce_brand_slug');
    
  2. 在Elementor中配置自定义链接

    • 编辑Loop Grid小部件,找到品牌Logo的链接设置,选择「自定义URL」
    • 在URL输入框填入:/shop?_sft_product_brand=[brand_slug]
    • 确保Elementor开启了动态标签解析(默认已开启),保存后即可生效

方案2:自定义Elementor动态标签(更灵活)

  1. 注册自定义动态标签
    在functions.php中插入以下代码:

    add_action('elementor/dynamic_tags/register', function($dynamic_tags) {
        class Brand_Filter_URL_Tag extends \Elementor\Core\DynamicTags\Tag {
            public function get_name() {
                return 'brand-filter-url';
            }
            public function get_title() {
                return '品牌筛选店铺URL';
            }
            public function get_group() {
                return 'custom';
            }
            public function get_categories() {
                return array(\Elementor\Modules\DynamicTags\Module::URL_CATEGORY);
            }
            public function render() {
                global $post;
                $brands = wp_get_post_terms($post->ID, 'product_brand', array('fields' => 'all'));
                if (!empty($brands)) {
                    $slug = $brands[0]->slug;
                    echo esc_url(home_url("/shop?_sft_product_brand={$slug}"));
                }
            }
        }
        $dynamic_tags->register(new Brand_Filter_URL_Tag());
    });
    
  2. 使用自定义动态标签

    • 编辑Loop Grid的Logo链接,点击「动态」按钮,选择「自定义」分类下的「品牌筛选店铺URL」
    • 保存设置后,品牌Logo会自动指向带对应筛选参数的店铺页面

方案3:Search and Filter Pro内置功能(快速尝试)

部分版本的Search and Filter Pro支持直接生成品牌筛选URL,你可以进入WP后台「产品」->「品牌」,编辑单个品牌后查看是否有「筛选链接」类的字段,直接复制该链接到Elementor的Logo链接设置中即可。

注意事项

  • 修改functions.php前建议备份文件,优先使用子主题避免主题更新丢失代码
  • 测试前清空网站缓存,确保动态内容正常加载
  • 若你的Woocommerce Brands自定义分类法slug不是product_brand,需将代码中的对应字段替换为实际slug

内容的提问来源于stack exchange,提问作者Valerie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 23:57:39