我注意到帖子标签与WooCommerce产品标签不同。
我需要在WooCommerce产品中添加帖子标签,这样我就可以在帖子标签档案中加入一些WooCommerce产品。
这可能吗?
我已尝试过这些代码段,但它不会添加它们。
add_filter( 'pre_get_posts', 'add_custom_types' );
function add_custom_types( $query ) {
if ( is_tag() && empty( $query->query_vars['suppress_filters'] ) ) {
$query->set( 'post_type', array( 'post', 'products', 'product' ) );
return $query;
}
}
add_filter('request', 'post_type_tags_fix');
function post_type_tags_fix($request) {
if ( isset($request['tag']) && !isset($request['post_type']) )
$request['post_type'] = array( 'products', 'product' );
return $request;
}
答案 0 :(得分:0)
使用以下代码在产品标签页中获取存档页面。现在产品标签页面使用主题archive.php文件。
在主题 functions.php
中添加以下代码add_filter( 'template_include', 'woocommerce_product_tag_page_template', 99 );
if ( ! function_exists( 'hcode_post_format_parameter' ) ) {
function woocommerce_product_tag_page_template( $template ) {
if ( is_tax( 'product_tag' ) ) {
get_template_part('archive');
}
return $template;
}
}
答案 1 :(得分:0)
我也需要这样做,并提出了我认为这样做的好方法。几步:
首先,您需要将post_tag分类法添加到woocommerce产品帖子类型中。您可以使用以下过滤器轻松完成此操作:
function custom_wc_add_post_tags( $args ){
$args['taxonomies'] = array('post_tag');
return $args;
}
add_filter( 'woocommerce_register_post_type_product', 'custom_wc_add_post_tags' );
这会在您的管理菜单中添加一个新的“标签”项,并允许您使用常规帖子标签标记产品,而不是特定于woocommerce的“product_tag”分类标签。其次,如果您不打算使用它,您可能想删除'product_tag'分类标准?因为上面会导致两个称为“标签”的管理菜单项,这会让人感到困惑。以下内容将为您完成:
add_filter('woocommerce_taxonomy_objects_product_tag', '__return_empty_array');
add_filter('woocommerce_taxonomy_args_product_tag', '__return_empty_array');
要从后端的“产品”表中删除该列:
function custom_wc_remove_product_tags_column($columns){
unset( $columns['product_tag'] );
return $columns;
}
add_filter( 'manage_edit-product_columns', 'custom_wc_remove_product_tags_column', 15 );
这实际上会将标签添加到您的产品中。如果您需要将这些内容显示在存档页面中,您可能仍需要修改该页面的查询以查找“产品”类型的帖子以及标准的“帖子”。看起来你在'pre_get_posts'钩子上面的函数会为你做那个部分。希望这有帮助!