将分类术语添加到 WooCommerce 产品永久链接
Add taxonomy Term to WooCommerce product permalink
我想将自定义分类法的 slug 添加到 WooCommerce 产品的永久链接中。为此,我添加了一个名为品牌的分类法。现在我想将品牌的 slug 添加到产品中 url.
之前:
www.shop.com/product/product-name/
之后:
www.shop.com/product/brand-product-name/
我做了一些研究并找到了类似的教程:https://wisdmlabs.com/blog/add-taxonomy-term-custom-post-permalinks-wordpress/
但我没有自己添加自定义 Post 类型 "WooCommerce procuct",所以我不知道如何从这里添加重写代码:
'rewrite' => array('slug' => 'projects/%projectscategory%', 'with_front' => false),
编辑:这是我的自定义代码:
add_filter('post_type_link', 'productbrand_permalink_structure', 10, 4);
function productbrand_permalink_structure($post_link, $post, $leavename, $sample) {
if (false !== strpos($post_link, '%brand%')) {
$productbrand_type_term = get_the_terms($post->ID, 'brand');
if (!empty($productbrand_type_term))
$post_link = str_replace('%brand%', array_pop($productbrand_type_term)->
slug, $post_link);
else
$post_link = str_replace('%brand%', 'uncategorized', $post_link);
}
return $post_link;
}
问题是,URL 看起来像这样:
www.shop.com/product/brand-/product-name/
有什么方法可以删除 brand-
之后的 /
在 permalik 选项内的自定义基础中,我添加了以下内容:
/product/%brand%-
但它总是在末尾添加 /
。
实际上它可能比您想象的要容易。
只需访问“设置”>“永久链接”并向下滚动到“产品永久链接,然后将自定义基础设置为/product/%product_cat%/
,然后您重新完成。
我想将自定义分类法的 slug 添加到 WooCommerce 产品的永久链接中。为此,我添加了一个名为品牌的分类法。现在我想将品牌的 slug 添加到产品中 url.
之前: www.shop.com/product/product-name/
之后: www.shop.com/product/brand-product-name/
我做了一些研究并找到了类似的教程:https://wisdmlabs.com/blog/add-taxonomy-term-custom-post-permalinks-wordpress/
但我没有自己添加自定义 Post 类型 "WooCommerce procuct",所以我不知道如何从这里添加重写代码:
'rewrite' => array('slug' => 'projects/%projectscategory%', 'with_front' => false),
编辑:这是我的自定义代码:
add_filter('post_type_link', 'productbrand_permalink_structure', 10, 4);
function productbrand_permalink_structure($post_link, $post, $leavename, $sample) {
if (false !== strpos($post_link, '%brand%')) {
$productbrand_type_term = get_the_terms($post->ID, 'brand');
if (!empty($productbrand_type_term))
$post_link = str_replace('%brand%', array_pop($productbrand_type_term)->
slug, $post_link);
else
$post_link = str_replace('%brand%', 'uncategorized', $post_link);
}
return $post_link;
}
问题是,URL 看起来像这样:
www.shop.com/product/brand-/product-name/
有什么方法可以删除 brand-
/
在 permalik 选项内的自定义基础中,我添加了以下内容:
/product/%brand%-
但它总是在末尾添加 /
。
实际上它可能比您想象的要容易。
只需访问“设置”>“永久链接”并向下滚动到“产品永久链接,然后将自定义基础设置为/product/%product_cat%/
,然后您重新完成。