Создание фильтра товаров WooCommerce по кастомному полю в админке WordPress требует нескольких шагов. Вот подробная инструкция:
Шаг 1: Создание кастомного поля для товара WooCommerce
1. Откройте файл functions.php вашей темы WordPress.
2. Добавьте следующий код:
function custom_wc_product_filters() { woocommerce_wp_text_input( array( 'id' => '_custom_field', 'label' => 'Кастомное поле', 'placeholder' => 'Введите значение', 'description' => 'Описание кастомного поля', 'desc_tip' => true, ) ); } add_action( 'woocommerce_product_options_general_product_data', 'custom_wc_product_filters' ); function custom_wc_save_product_filters( $post_id ) { $custom_field = $_POST['_custom_field'] ?? ''; update_post_meta( $post_id, '_custom_field', sanitize_text_field( $custom_field ) ); } add_action( 'woocommerce_process_product_meta', 'custom_wc_save_product_filters' );
Этот код добавит новое кастомное поле на странице редактирования товара в админке WooCommerce.
Шаг 2: Создание фильтра WooCommerce
1. Откройте файл functions.php вашей темы WordPress.
2. Добавьте следующий код:
function custom_wc_product_filter_by_custom_field( $query ) { global $pagenow, $post_type; if ( 'edit.php' !== $pagenow || 'product' !== $post_type ) { return; } $custom_field = $_GET['custom_field'] ?? ''; if ( ! empty( $custom_field ) ) { $query->query_vars['meta_query'][] = array( 'key' => '_custom_field', 'value' => sanitize_text_field( $custom_field ), 'compare' => '=', ); } } add_action( 'pre_get_posts', 'custom_wc_product_filter_by_custom_field' );
Этот код настроит фильтрацию товаров WooCommerce на странице редактирования товаров в админке.
Шаг 3: Просмотр фильтрованных товаров
1. Откройте страницу редактирования товаров в админке WooCommerce.
2. Найдите раздел «Настройки отображения товаров» вверху страницы.
3. Выберите значение для «Кастомное поле» и нажмите кнопку «Фильтр».
4. Товары будут отфильтрованы на основе выбранного значения кастомного поля.
Теперь у вас есть фильтр товаров WooCommerce, который опирается на кастомное поле, созданное в админке WordPress. Вы можете настроить значения кастомного поля для каждого товара и использовать его для упрощения поиска и фильтрации товаров в админке WooCommerce.