Как выводить посты рубрики, название и описание?

Параметры Сортировки и порядка

Сортирует и устанавливает направление сортировки.

Параметры сортировки не будут работать, если указать параметр fields = ids , потому что в этом случае, в запросе не будет полей по которым можно отсортировать результат.

Order(строка)

Направление сортировки по параметру orderby , может быть:

  • ASC — по порядку, от меньшего к большему (1, 2, 3; a, b, c).
  • DESC — в обратном порядке, от большего к меньшему (3, 2, 1; c, b, a) .

(строка)

Поля по которым можно сортировать посты. Может быть

  • none — не сортировать, выводить как есть в БД. Равносильно сортировке по ID. С версии 2.8.
  • ID — сортировка по ID.
  • author — сортировка по ID авторов.
  • title — сортировка по заголовку.
  • name — по названию поста (ярлык, слаг поста).
  • date — сортировка по дате публикации.
  • modified — сортировка по дате изменения.
  • type — по типу поста (post_type). С версии 4.0
  • parent — сортировка по значению поля parent.
  • rand — случайный порядок.
  • RAND(x) — в случайном порядке для числовых значений. Тут «x» — это целое число.
  • comment_count — сортировка по количеству комментариев. С версии 2.9.
  • relevance — по условию поиска (параметр s). Сортировка идет в следующем порядке: 1) соответствует ли все предложение. 2) все условия поиска в заголовке записи. 3) какие-либо слова из запроса поиска в заголовке записи. 4) полное предложение найдено в контенте записи.
  • menu_order — стандартно используется для страниц и вложений. Порядковый номер указывается на странице редактирования поста.

meta_value — по значения произвольного поля.

Важно: параметр meta_key так же должен быть определен. Заметка: сортировка будет алфавитной и будет не логична, если значения произвольных полей числа (будет, например, так 1, 3, 34, 4, 56, 6 и т.д., а не 1, 3, 4, 6, 34, 56)

meta_value_num — сортировка по произвольным полям, значения которых являются числами. С версии 2.8.
ключ массива из meta_query — в этом случае сортировка будет по значению произвольного поля указанного в массиве meta_query .
post__in — учитывает порядок указанных ID в параметре post__in . Параметр order игнорируется.
post_name__in — учитывает порядок указанных имен в параметре post_name__in . Параметр order игнорируется.
post_parent__in — учитывает порядок указанных ID в параметре post_parent__in . Параметр order игнорируется.

С версии WordPress 4.0 в orderby можно указывать массив сочетающий в себе оба параметра: orderby и order . Сделано это для сортировки по нескольким колонкам одновременною Синтаксис такой:

«orderby» => array(«title» => «DESC», «menu_order» => «ASC»)

#1 Сортировка по заголовку

Отсортируем по порядку в меню, а затем по заголовку

$query = new WP_Query(array («orderby» => «menu_order title», «order» => «DESC»));

#5 Множественная сортировка

Выведем посты отсортированные по двум полям: «title» и «menu_order» (title первостепенен):

$query = new WP_Query(array(«post_type» => «page», «orderby» => «title menu_order», «order» => «ASC»));

#6 Множественная сортировка с использованием массива (с версии 4.0)

Получим страницы отсортированные по заголовку (title) и номеру меню (menu_order) в разном порядке (ASC/DESC):

$query = new WP_Query(array(«orderby» => array(«title» => «DESC», «menu_order» => «ASC»)));

#7 Сортировка по «meta_value» для нового типа поста (post_type)

Выведем посты типа «my_custom_post_type» отсортированные по ключу произвольного поля «age» и отфильтрованные, чтобы показывались только посты со значением поля 3 и 4:

$args = array(«post_type» => «my_custom_post_type»,
«meta_key» => «age»,
«orderby» => «meta_value_num»,
«order» => «ASC»,
«meta_query» => array(array(«key» => «age»,
«value» => array(3, 4),
«compare» => «IN»,)));
$query = new WP_Query($args);

#8 Сортировка по нескольким метаполям

Чтобы отсортировать результат по двум разным метаполям, например, сначала по city , а затем по state , нужно указать ключи для массивов в массиве meta_query и затем использовать эти ключи в параметре orderby:

$query = new WP_Query(,
«city_clause» => ,
],
«orderby» => ,
]);

Что такое тег шаблона

Тег шаблона — это код, который поручает WordPress «сделать» или «получить» что-нибудь. В случае с файлом header.php, тег шаблона, выводящий название сайта на WordPress, будет выглядеть следующим образом:

<h1><?php bloginfo('name'); ?></h1>

Тег шаблона <?php bloginfo(); ?>, заключенный в теги заголовка H1. Тэг bloginfo() получает информацию из вашего , а также > в Административной панели. В представленном здесь примере, слово name, заключенное в кавычки внутри тега, поручает тегу «получить название блога». Это называется параметр.

Параметры тэга шаблона

Кроме параметра name шаблонного тэга <?php bloginfo(); ?>, существует и другая информация, которую он может отобразить. Давайте рассмотрим несколько таких параметров — и вы сможете найти больше информации и примеров на странице Кодекса bloginfo().

name
Как упоминалось выше, отображает название сайта и установлено администратором в панели > по умолчанию.
description
Это называется «подзаголовок» вашего блога, обычно содержащий описательные предложения, которые говорят: «Мой блог о…». Установлено администратором в панели > .
url
Если вам необходимо отобразить URL или веб-адрес вашего WordPress-сайта, используйте параметр URL. Он также берется из панели > .
admin_email
Если хотите отобразить e-mail администратора, вам не нужно вносить его в файлы шаблона. В результате таких действий он может стать открытым для сборщиков почты, использующих сложное программное обеспечение для сбора e-mail адресов и рассылки по ним спама. При использовании bloginfo('admin_email'), e-mail отображается на странице для читателей, но фактический почтовый адрес скрыт от сборщиков. Здрово, не правда ли? E-mail администратора устанавливается в панели > .
version
Иногда вы хотите показать, какую версию WordPress используете. Темы, поставляемые вместе с WordPress, по умолчанию содержат такую информацию в шаблоне подвала. Он просто отображает текующую версию WordPress, используемую вами.

Для отображения версии WordPress, тег шаблона должен выглядеть следующим образом:

<p>Блог работает на WordPress версии <?php bloginfo('version'); ?></p>

Блог работает на WordPress версии 5.9

Следует заметить, что параметр version генерирует только номер версии Worpdress, но не сами слова «Блог работает на WordPress версии». Это было написано перед тэгом, так чтобы они были видны на веб-странице.

Для более подробного изучения параметров шаблонных тэгов, смотрите Анатомия Тэгов Шаблона и Как передавать в Тэги параметры.

List, массив, Cursor

Чтобы запросить из базы Employee-объекты, необходимо в Dao создать метод с аннотацией Query

@Dao
public interface EmployeeDao {

   @Query("SELECT * FROM employee")
   List<Employee> getAll();

   // ...

}

В Query прописываем запрос, который должен вернуть данные. А в качестве возвращаемого типа указываем List<Employee>.

При вызове этого метода, Room сделает запрос в таблицу employee, конвертирует полученные данные в Employee объекты и упакует их в List.

Запрос, который вы указываете в Query проверяется на правильность синтаксиса во время компиляции. Если в нем будет ошибка, система вам сразу подскажет это.

Вместо List, мы также можем использовать массив:

@Query("SELECT * FROM employee")
Employee[] getAll();

и даже Cursor, если это необходимо по каким-то причинам:

@Query("SELECT * FROM employee")
Cursor getAll();

Самый элементарный способ

Чтобы реализовать задуманное, понадобится влезть в код ВордПресс. Найдите файл, который называется category.php или archive.php. Тем, кого интересуют настройки главной страницы, стоит поискать файл index.php. В файлах вы найдете кусочек кода, отвечающий за список. Как понять, в какое место вставить код? Все очень просто. Для вывода изменения вносятся в код между такими частями

while ( have_posts() )

и

endwhile

Также можно сделать это в конце шаблона:

<?php get_sidebar(); ?>

<?php get_footer(); ?>

Тем, кто правит через админку, мы настоятельно рекомендуем создавать копию. Если этого не сделать, вы не сможете отменить изменения. Есть вероятность, что шаблон будет испорчен.

Как только вы найдете строку query_posts(‘cat=2′), можете приступать к ее редактированию. Именно она отвечает за вывод рубрик. Цифра 2 соответствует ID категории. Для смены категории меняем ID на цифру, отвечающую другой категории. А если прописать сразу несколько цифр разделов, вывод не последних новостей wordpress будет осуществляться из разных категорий.

Как выглядит код?

Каким будет код для вставки в шаблон? Предлагаем уже готовый:

<?php        query_posts(‘cat=5’); // вместо «5» указываем идентификатор вашей рубрики.

 while (have_posts()) : the_post();?>

 <!—в этой строке выводится название статьи и ссылка на неё—>

<h2><a href=»<?php the_permalink(); ?>»><?php the_title(); ?></a></h2>

 <!—здесь выводится миниатюра записи—>

<div class=»thumbnail»><?php echo get_the_post_thumbnail(); ?></div>

         <?php the_content(); // вывод текста записи

         endwhile;

         wp_reset_query();

         ?>

Упомянутый выше код запустит цикл, позволит вывести все записи друг за дружкой.

Как определить ID категории?

Вам понадобилось узнать ID – как сделать это быстро и легко? Открываем «Записи», отправляемся в «Рубрики». Необходимо навести курсор на интересующую вас рубрику. Появится текст в левом углу снизу. Цифра после ID= и есть ID категории.

Обращаем ваше внимание на один важный момент. Оформлять вывод рубрик блога на WordPress вам придется самостоятельно, используя CSS

Если эта тема вам незнакома, могут возникнуть трудности. В таком случае, лучше воспользоваться выводом новостей с помощью плагинов.

Каноническое перенаправление

Как правило, есть много URL, которые могут указывать на один и тот же контент на вашем сайте. Например:

Все вы попадете на первую страницу вашего архива 2012 года. С точки зрения SEO это не очень хорошо — мы не можем предполагать, что поисковые системы будут распознавать эти URL как один и тот же ресурс, и эти URL могут в конечном итоге конкурировать друг с другом. Google может также активно наказывать вас за дублирующийся контент, и, хотя он хорошо определяет, когда это дублирование не является «вредоносным», он все же рекомендует перенаправить эти лишние URL-адреса на один предпочтительный «канонический» (или стандартный) URL-адрес. Это называется канонизация.

Это не только помогает консолидировать рейтинги, такие как популярность ссылок, но и помогает вашим пользователям. Если они используют некрасивый или «неправильный» URL-адрес — их перенаправляют на «правильный» URL-адрес, и то, что находится в их адресной строке, — это то, к чему они с большей вероятностью вернутся.

Начиная с версии 2.1.0 WordPress обрабатывал каноническое перенаправление, даже принимая обоснованное предположение о требуемом контенте, если исходный запрос возвратил 404. К сожалению, в этом случае WordPress перенаправляет на неправильный URL-адрес. Это потому, что URL-адрес, который мы на самом деле хотим, не является понятным для WordPress и игнорирует часть URL-адреса «тип публикации». К счастью, однако, мы можем использовать фильтр , чтобы исправить это.

Вышеуказанная функция длинная, но не очень сложная. Он может быть улучшен и предназначен только как пример того, что вы можете сделать с фильтром . Сначала он проверяет, включены ли постоянные ссылки, что мы следим за нашим «книжным» архивом, а не за фидом. Затем он проверяет по очереди:

  1. Это архив года, месяца или дня? Если это так, удалите переменную year из строки запроса и установите URL-адрес перенаправления на www.example.com/books/.
  2. Это архив месяца или дня? Если это так, удалите переменную monthnum из строки запроса и добавьте значение к URL-адресу перенаправления:
  3. Это дневной архив? Если это так, удалите переменную ‘day’ из строки запроса и добавьте значение к URL-адресу перенаправления:
  4. Наконец, если есть переменная с постраничной передачей, добавьте ее в URL перенаправления.
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: