要筛选出没有添加任何标签的产品,您可以使用以下步骤和代码,将其添加到之前的代码中,以在 WooCommerce 的产品页面上添加一个筛选选项,用于筛选未添加标签的产品:
将以下代码添加到您的 functions.php
文件中:
add_action( 'restrict_manage_posts', 'filter_products_without_tags' );
function filter_products_without_tags() {
global $typenow;
if ( $typenow == 'product' ) {
$filter_value = isset( $_GET['filter_no_tags'] ) ? '1' : '0';
echo '<select name="filter_no_tags">';
echo '<option value="">' . esc_html__( '所有产品', 'woocommerce' ) . '</option>';
echo '<option value="1"' . selected( $filter_value, '1', false ) . '>' . esc_html__( '无标签产品', 'woocommerce' ) . '</option>';
echo '</select>';
}
}
add_action( 'pre_get_posts', 'filter_products_without_tags_query' );
function filter_products_without_tags_query( $query ) {
global $typenow, $wpdb;
if ( $typenow == 'product' && isset( $_GET['filter_no_tags'] ) && $_GET['filter_no_tags'] == '1' ) {
$query->set( 'tax_query', array(
array(
'taxonomy' => 'product_tag',
'operator' => 'NOT EXISTS',
),
));
}
}