Как добавить поиск товаров по артикулу

По умолчанию поиск в woocommerce не ищет товары по артикулу. Самый простой способ добавить его без дополнительных плагинов – вставить такой код в файл functions.php дочерней темы

add_filter( 'posts_search', function ( $search, $query_vars ) {
    global $wpdb;
    if ( isset( $query_vars->query['s'] ) && ! empty( $query_vars->query['s'] ) ) {
        $args  = [
            'posts_per_page' => - 1,
            'post_type'      => 'product',
            'meta_query'     => [
                [
                    'key'     => '_sku',
                    'value'   => $query_vars->query['s'],
                    'compare' => 'LIKE',
                ],
            ],
        ];
        $posts = get_posts( $args );
        if ( empty( $posts ) ) {
            return $search;
        }
        $get_post_ids = [];
        foreach ( $posts as $post ) {
            $get_post_ids[] = $post->ID;
        }
        if ( sizeof( $get_post_ids ) > 0 ) {
            $search = str_replace( 'AND (((', "AND ((({$wpdb->posts}.ID IN (" . implode( ',', $get_post_ids ) . ")) OR (", $search );
        }
    }

    return $search;
}, 999, 2 );
Вам помог ответ?
Похожие вопросы
Как вывести виджеты в подвале сайта?
+9
Как изменить цвет активного пункта меню?
+8
Что означает ошибка publisher в микроразметке?
+8
Почему не показывается количество просмотров?
+7
C формы обратной связи не приходят письма
+6
Как вывести виджет анонсов записей с миниатюрами?
+6
Как вывести хлебные крошки?
+5
Не работает встроенный лайтбокс
+5
Как изменить почту, на которую приходят сообщения с формы обратной связи?
+4
Как добавить или изменить шрифт в теме
+4
Как изменить фоновый цвет контента?
+4
Как изменить цвет заголовка записи\страницы?
+4
Как вывести содержание в начале статьи?
+4
Как вывести подменю в 2 колонки?
+4
Текст без переносов и/или выходит за границы
+4
Почему не отображаются иконки на профили в социальных сетях?
+4
Как включить комментарии на страницах?
+4
Как добавить ссылки на предыдущую/следующую запись на странице записи?
+4
Как зафиксировать меню под шапкой?
+4
Как добавить фавикон?
+31