Ответы пользователя по тегу WordPress
  • Как сделать требуемый вывод результатов поиска?

    @CreativeStory Автор вопроса
    Решил вопрос так, файл темы search.php, основная часть кода:

    if ( have_posts() ) {
        
        $stack = [];
        
        foreach($posts as $item) {
            // складываем все типы постов результата поиска
            array_push($stack, $item->post_type);
        }
        // находим уникальные типы постов
        $result = array_unique($stack);
    
        foreach ($result as $res) : 
            $args = array(
                'post_type' => $res, // добавляем в запрос тип поста
                'post_per_page' => -1,
                's' => get_search_query(),
            );
            $query = new WP_Query($args);
     
            // Вывод группы результатов поиска по типу поста
            // Типа поста
            echo get_post_type_object($res)->label;    
     
            // посты 
            while($query->have_posts()) : $query->the_post();
    
                get_template_part( 'template-parts/content', 'search' );
    
            endwhile; wp_reset_query();
    
        endforeach;
    } else {
        // если нет результатов
        get_template_part( 'template-parts/content', 'none' );
    }
    Ответ написан
    Комментировать
  • Как добавить параметр к запросу WP Query?

    @CreativeStory Автор вопроса
    Получилось решить самому, но почему-то 'posts_per_page' => -1 выдает ошибку..
    global $wp_query;
            $args = array_merge( $wp_query->query_vars, array( 
                'post_type' => 'bio', 
                'posts_per_page' => 1000,
                'order' => 'ASC',
                'orderby' => 'title'
                ) );
            query_posts( $args );
    Ответ написан
    Комментировать
  • Как убрать отображение поля в админке?

    @CreativeStory Автор вопроса
    Нашел лучшее решение с добавлением фильтра, добавляем в functions.php темы.

    // Удаляем ненужные колонки из админбара
    add_filter('manage_(тип_поста)_posts_columns', function ( $columns ) 
    {
    	unset(
    		$columns['id колонки, которую нужно удалить'],
    		$columns['id колонки, которую нужно удалить']
    		);
        return $columns;
    } );
    Ответ написан
    Комментировать