wordpress WooCommerce 添加筛选未添加标签的产品的功能

要筛选出没有添加任何标签的产品,您可以使用以下步骤和代码,将其添加到之前的代码中,以在 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',
            ),
        ));
    }
}