自定义 WooCommerce 重写 URL

成圈

目前,产品 URL 如下所示:

例如

是否可以将其更改为

例如

我以某种方式设法获得了上述 URL 结构,但看到了 404 错误。


我正在为市场使用https://wordpress.org/plugins/dc-woocommerce-multi-vendor/插件。

该网站正在开发中,因此您将无法看到上述链接。请提出解决方案。提前致谢。

成圈

设法实现将分类名称推送到产品 URL 中。步骤如下: 1)将Product permalinks下的Custom Base设置为“/%product_brand%/”

2)编辑产品并创建/设置产品品牌(您要在网址中显示)。我使用 WCMP 供应商名称来保持同步和易于理解。

3)在functions.php中加入如下代码

function dab_prefix_filter_vendor_permalink( $post_link, $post, $leavename, $sample ) {
    if('product' == get_post_type($post->ID)){
        $brands = wp_get_post_terms($post->ID, "product_brand", array("fields" => "all"));
        if(!empty($brands) && false !== strpos($post_link, '%product_brand%')){
            $post_link = str_replace('%product_brand%', $brands[0]->slug, $post_link);
        }else{
            $post_link = str_replace('%product_brand%/', '', $post_link);
        }
    }
    return $post_link;
}
add_filter( 'post_type_link', 'dab_prefix_filter_vendor_permalink', 10, 4 );

注意:如果未指定品牌,我在 url 中添加了一个例外来显示产品而不是 %product_brand%。

快乐编码!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章