Шаг 2. Настройка шаблона
Движок WordPress достаточно гибкая система и позволяет задать шаблон практически для каждого вида страниц. Однако в большинстве случаев разработчики тем для WordPress упускают эту возможность и сводят всю работу к использованию одного шаблона. Можно приводить массу как положительных так и отрицательных утверждений относительно такого подхода к проектированию темы, но не в этом суть. Суть в том, что в большинстве тем с одним шаблоном для всех видов страниц отсутствует возможность вывода описания метки, категории и т.д. на страницу.
Как можно сделать вывод описания метки на страницу? Вариантов два:
- Доработать тот шаблон, который есть уже в теме.
- Создать свой шаблон для необходимой страницы. Например, для страницы меток шаблон должен иметь название tag.php, для описание категории category.php и т.д..
Для вывода описания для метки в WordPress предусмотрена стандартная функция: tag_description()
Для вывода названия одной метки – функция single_tag_title()
Все, что нам остается – это вызвать эти функции в нужном месте, например, вверху страницы со списком статей. Создаем файл tag.php, кладем его в папку wp-content/themes/ваша_тема/ и вызываем две эти функции, например, так:
.... <div class="tag"> <h2>Список публикаций с меткой <strong><?php echo single_tag_title(); ?></strong></h2> <?php echo tag_description(); ?> </div> ....
Теперь нам достаточно зайти в админку, выбрать метку, добавить к ней описание, указав ссылки на похожие метки. Например, на рисунке показано описание метки «Excel»:
Теперь осталась самая “малость” – дать описания для всех меток Но, думаю, что напрасным сей труд не будет ни для пользователей, ни для самого блога – контент, пусть и небольшой по объему, лишним не бывает.
голоса
Рейтинг статьи
Как сделать тэг «Читать далее» в WordPress
Реализация подобной функции на нашей платформе подразумевает лишь два шага:
- демонстрация анонса записи (например, первого абзаца);
- установка ссылки.
Чтобы отображать краткий анонс или вступление, следует воспользоваться одним из двух способов:
- использовать функцию the_content() и добавления самой ссылки;
- использовать the_excerpt(), которая применяется вместо the_content().
Кратко поясним, что ф-ция the_content позволяет отображать текст с примененным к нему форматированием. Такая функция предусмотрена в файле single.php, который находится на странице постов/статей. Когда в редакторе текста при добавлении статьи на сайт вы установите соответствующую ссылку (она называется quicktag), то автоматически будет скрыта часть текста статьи, а посетители будут видеть лишь краткий анонс записи.
В свою очередь, функция the_excerpt – она позволяет видеть сразу анонс, но без форматирования.
Как добавить тэг more в WordPress в текстовом редакторе
Чтобы на страницах сайта отображалась только часть статьи, при ее вставке и редактировании необходимо нажать на специальную кнопку. Именно она добавит такую ссылку – «Читать далее».
Если вы проводите редактирование материала в формате HTML, там также предусмотрена соответствующая кнопка. Однако достаточно просто вставить тэг <!—more—> в конкретном месте вашего материала.
Как добавить Read more link в WordPress в шаблоне
Далее рассмотрим, как использовать рассматриваемый тэг в шаблоне, а также, как его можно вывести на сайте. Для этих целей предусмотрено сразу две функции:
- the_content;
- the_excerpt.
Находятся они в макете там, где и предусмотрено отображение всего списка статей вашего сайта:
- главная (index.php);
- архивы (archive.php);
- категории (category.php);
- и так далее.
Ф-ция the_content необходима для того, чтобы текст статьи отображался полностью. Для того, чтобы на главной появился только анонс, в редакторе при форматировании и подготовке поста к публикации следует установить тэг Read more:
<?php the_content( $more_link_text, $strip_teaser, $more_file ); ?>
Где:
- $more_link_text – непосредственно сам текст для «Читать далее», который по умолчанию имеет вид, как «читать» или «more»;
- $strip_teaser – необходим для того, чтобы либо отображать часть записи до WordPress тэга «More», либо нет. Данная пометка может принимать значение FALSE (текст отображается) либо TRUE (текст прячется). По умолчанию в настройках выставлено так, что текст будет отображаться;
- $more_file – на какой именно файл будет указывать ваш тэг (в данном случае указано, что он не применяется).
Теперь перейдем к практике, что позволит вам лучше понять, всю суть данного метода. Начнем с того, что само по себе слово «Далее» выглядит не особо привлекательно. Поэтому сначала рассмотрим, как его можно изменить на более емкую и красивую фразу «Читать далее».
<?php the_content(‘Читать далее…’); ?>
Как видите, все довольно просто! В код нужно внести лишь небольшие изменения. Кроме того, у вас есть возможность полностью изменить Read more, установив в текст вашего предложения даже полноценное заглавие статьи/поста. И при этом допускается выполнение HTML форматирование. Ведь, вполне вероятно, подобная ссылка будет более позитивно оценена поисковыми роботами.
<?php the_content(‘<span class=»moretext»>Читать далее</span> ‘ . the_title(», », false)); ?>
В том случае, если вы вообще хотите отказаться от фразы «Читать далее», вам необходимо оставить пустым поле, как указано в примере:
<?php the_content(‘ ‘); ?>
Если же говорить о ф-ции the_excerpt, то в ней вообще не предусмотрено каких-либо настроек. Она лишь демонстрирует краткий анонс статьи, не применяя ее форматирование.
Для того, чтобы у вас появилась соответствующая ссылка, необходимо вставить код:
<div class=»morelink»>
<a href=»<?php the_permalink() ?>» title=»<?php the_title(); ?>» >Читать далее…</a>
</div>
То есть, по сути, тут нет какой-либо конкретной связи с привычным тэгом More. В данной ситуации демонстрируется лишь ссылка на статью.
Кстати, также вы можете поступать с ф-ей the_content, если у вас есть желание установить ссылку не в конкретном месте текста, а в отдельном блоке. К примеру, когда речь заходит о такой «фишке», как создание необычного дизайна.
Систематизация
Посты сортируются по рубрикам, меткам, автору и т.д.
Здесь мы видим всю информацию по публикации: дату создания, кто автор, к какой рубрике принадлежит.
У страниц другой вид сортировки, иерархия. Можно одну из них сделать дочерней для другой, т.е. для них существует структура вложенностей.
При наведении в меню, выпадает список вложенных подстраниц.
Функционал сортировки и систематизации для статей более гибок, чем для страниц. Если вы будете использовать страницы для своих постов, то столкнетесь с тем, что не сможете их структурировать с помощью меток и рубрик.
Для записей нельзя делать вложения, т.е. нельзя одну запись сделать дочерней для другой.
Чем отличаются страницы от записей в WordPress
В целом страницы и записи в WordPres схожи. У них общие признаки, например, они имеют заголовок, содержимое, одинаковый редактор, но у них значительно разный функционал.
Записи (или посты) — это часть блога. Когда вы хотите опубликовать на сайте статью, которая должна попасть в блог, вы должны поместить её в записи. Посты появляются на страницах сайтах в хронологическом порядке, самые свежие выше.
Посты появляются на главной странице (или на странице блога, если в качестве главной выбрана статичная страница), на странице рубрик и меток. И везде они появляются в хронологическом порядке.
Как понятно, посты можно добавить в рубрики и назначить им метки. Запись обязательно должна быть хоты бы в одной рубрике. Если её не выбрать, то она попадает в рубрику по умолчанию.
Страницы следует использовать для такого контента, который находится вне хронологии блога, и который часто бывает востребован. Статьи на страницах публиковать не нужно. На страницах можно разместить информацию о сайте, об авторе, соглашение о пользовании сайтом, контактные данные.
Как понятно, страницы не участвую в составе блога и не появляются в хронологическом порядке. Их можно вывести, например, с помощью ссылок в меню или виджета “Страницы”.
Страницы нельзя добавлять в рубрики и нельзя назначать им метки. Но в отличии от постов можно из страниц делать иерархию, то есть создавать дочерние и родительские страницы.
Итак, давайте подведём итог.
Записи:
- Появляются в хронологическом порядке, свежие выше.
- Обязательно должны быть хоть в одной рубрике, им можно назначить метку.
- Являются частью блога.
- Статьи надо публиковать в записях.
Страницы:
- Не участвуют в хронологии блога.
- Не могут быть добавлены в рубрики, им не могут быть назначены метки.
- Можно создавать из страниц иерархию.
- Статичный контент (об авторе, о сайте и т.п.) надо публиковать на станицах.
Некоторый хаки для тэга «Читать далее» на платформе WordPress
И еще несколько интересных и полезных дополнений, которые помогут вам в работе с описываемым тэгом. Представлены они на официальном сайте нашей любимой платформы.
Как убрать прокрутку для More link
В CMS по умолчанию предусмотрено следующее – после клика по тэгу «Читать далее» вы автоматически перенаправляетесь на то место, где установлена в тексте ссылка.
Кроме того, в самой ссылке предусмотрен еще один якорь в виде #more-555. Чтобы избавиться от этого, следует в functions.php вставить следующий код:
function remove_more_link_scroll( $link ) {
$link = preg_replace( ‘|#more-+|’, », $link );
return $link;
}
add_filter( ‘the_content_more_link’, ‘remove_more_link_scroll’ );
Как изменить ссылку «Читать далее»
Наиболее простой способ – это перейти в ф-цию и поменять $more_link_text. Однако, чтобы полностью изменить формат такой ссылки, в functions.php вам следует лишь добавить приведенный ниже код:
add_filter( ‘the_content_more_link’, ‘modify_read_more_link’ );
function modify_read_more_link() {
return ‘<a class=»more-link» href=»‘ . get_permalink() . ‘»>Your Read More Link Text</a>’;
}
Кстати, этот код также избавляет от описанной выше прокрутки страницы.
Как сделать кнопку «Читать далее» на WordPress
Для формирования такой кнопки вам понадобится применение стилей CSS. Так, по умолчанию предусмотрено, что ф-ция the_content вставляется непосредственно в тэг А class=»more-link».
Так что вам достаточно просто установить в разделе style.css следующий код:
a.more-link {
display:block;
width:151px;
height:24px;
padding-left:10px;
clear:both;
border:none;
line-height:22px;
margin-top:10px;
font-size:12px;
}
a.more-link {
color:#FFF;
background:url(images/readmore.jpg) 0 0 no-repeat;
}
Так, в начале задаются параметры кнопки, а далее, во втором правиле, предусмотрена ссылка на фоновую картинку readmore.jpg. Естественно, чтобы выполнить все это, необходимо иметь хотя бы начальные знания CSS.
Ссылка читать далее в WordPress: параметры анонса для функции the_excerpt
Данные решения будут интересны тем, кто на сайте для демонстрации анонсов использует функцию the_excerpt.
Для начала отметим, что с помощью данного метода вы сможете изменить количество демонстрируемых символов. По умолчанию предусмотрена демонстрация 55 символов.
function wpdocs_custom_excerpt_length( $length ) {
return 70;
}
add_filter( ‘excerpt_length’, ‘wpdocs_custom_excerpt_length’, 999 );
Кроме того, предусмотрена смена стандартного варианта окончания текста. Когда вместо троеточия может быть установлен фактически любой подходящий вам вариант. Хотя, конечно же, он не будет являться ссылкой.
function wpdocs_excerpt_more( $more ) {
return ‘… >>’;
}
add_filter( ‘excerpt_more’, ‘wpdocs_excerpt_more’ );
Добавляем ссылку «Читать далее» для функции the_excerpt
Выше мы рассматривали эту функцию. А теперь расскажем, как можно реализовать данное решение, используя functions.php:
function new_excerpt_more($more) {
global $post;
return ‘<a class=»moretag» href=»‘. get_permalink($post->ID) . ‘»> Читать статью полностью…</a>’;
}
add_filter(‘excerpt_more’, ‘new_excerpt_more’);
Зачем нужна автоматическая публикация записей согласно графику?
Большинство блоггеров планируют публикацию записей в конкретное время/день, но все мы неидеальны и не с железной дисциплиной, так что иногда забываем, пропускаем и публикуем записи на день-два (а-то и больше) позже.
Один из способов избавиться от этой проблемы – это использовать редакционный календарь, который напоминает, когда вы должны опубликовать ту или иную запись.
Для облегчения своего редакционного процесса я пользуюсь календарем Edit Flow.
Согласитесь, разве не было бы замечательно, установить систему, которая бы автоматически планировала бы для вас публикацию записей? Например, для этих целей могут подойти такие сервисы как Buffer и HootSuite, которые позволяют работать одновременно сразу с несколькими социальными медиа.
У WordPress есть плагин «Publish to schedule», который тоже позволяет автоматически планировать публикацию записей.
Давайте разберемся, как его установить и настроить.
Аргументы функции WordРress get posts()
Синтаксис функции get_posts выглядит следующим образом:
PHP
get_posts( $args );
1 | get_posts($args); |
где $args – это массив аргументов, при помощи которых мы задаём параметры вывода записей WordРress.
В данном примере используются только 2 аргумента.
На самом деле этих аргументов намного больше:
-
1.order – сортировка выводимых записей WordPress
- ASC – в прямом порядке (по возрастанию)
- DESC – в обратном порядке (по убыванию)
Например:
PHP
‘order’ => ‘ASC’
1 ‘order’=>‘ASC’ -
2.include – выводит статьи или страницы по ID
Чтобы узнать ID статьи переходим в раздел «Записи» → «Все записи».
Наводим курсор на название интересующей нас статьи и смотрим на ссылку, которая появляется в нижнем левом углу. В этой ссылке есть целое число, которое и есть её идентификатором (ID) в WordPress.
Например:
PHP
‘include’ => ‘45,12,30’
1 ‘include’=>’45,12,30’ -
3.exclude – исключает статьи с указанными идентификаторами.Например:
PHP
‘exclude’ => ‘45,12,30’
1 ‘exclude’=>’45,12,30’ -
4.orderby — сортировка по определённому значению.
- ‘post_title’ – сортирует по заголовку статьи или страницы
- ‘content’ – по контенту
- ‘meta_value’ – по значению произвольных полей
- ‘password’ – по паролю
- ‘type’ – по типу записи
- ‘ID’ – по ID записи
- ‘post_name’ – сортирует по короткому имени записи, которое задаётся латинскими буквам
- ‘rand’ – сортировка в случайном порядке
- ‘comment_count’ – сортирует по количеству комментариев
- ‘author’ — сортировка по ID автора
- ‘date’ – по дате создания
- ‘modified’ – по дате изменения
- ‘parent’ – сортирует по ID родительской страницы
- ‘post__in’ – берёт за основу порядок ID записей, указанных в аргументе include
Например:
PHP
‘orderby’ => ‘post_title’
1 ‘orderby’=>’post_title’ -
5.posts_per_page — задаёт количество выводимых постов (статей)Например:
PHP
‘posts_per_page’ => 3
1 ‘posts_per_page’=>3 -
6.category — вывод постов из категории с указанным IDНапример:
PHP
‘category’ => 9
1 ‘category’=>9 -
7.category_name – вывод записей из категории с указанным именем. В качестве имени используется ярлык (слаг)
Посмотреть его можно здесь:Например:
PHP
‘category_name’ => ‘wordpress’
1 ‘category_name’=>’wordpress’ - 8.tag – выводит статей с указанными тегами
- 9.meta_key и meta_value – вывод статей и страниц с указанными произвольными полями
-
10.offset – начиная с какой записи будет выводится списокНапример:
PHP
‘offset’ => 3 – будет выводить начиная с 3 статьи
1 ‘offset’=>3–будетвыводитьначинаяс3статьи - 11.post_parent – выводит дочерние страницы для страницы с указанным ID
-
12.post_status – выводит записи в зависимости от статуса
- publish — опубликованная статья или страница
- private — личная запись
- draft — черновик
- future — запланированные записи
- inherit — вложение
- any — любые
Например:
PHP
‘post_status’ => ‘publish’
1 ‘post_status’=>’publish’ -
13. post_type – тип поста
- post — записи
- page — страницы
- attachment — прикрепленные вложения
Например:
PHP
‘post_type’ => ‘page’
1 ‘post_type’=>’page’
Примеры страниц и шаблонов
Ниже приводится список примеров. Вы можете добавить свои.
Архивы с содержимым
Шаблон, который сначала показывает вверху содержимое страницы, а ниже — список архивов по месяцам и рубрикам. Он работает с темой по умолчанию (Kubrick), но с незначительными доработками подойдёт для других тем.
Сохраните код ниже в arc-cont.php:
Страница с записями
Шаблон показывает записи определённой рубрики в зависимости от того, какая страница показывается. Он работает с темой по умолчанию (Kubrick), но с незначительными доработками подойдёт для других тем.
Сохраните код ниже в pageofposts.php:
Изменение запросов с помощью фильтра pre_get_posts
Фильтр pre_get_posts применяется после формирования запроса но до его выполнения, т.е. его использование не создает дополнительной нагрузки!
Исключение рубрик на главной странице
Если нужно не показывать на главной / домашней странице записи блога из некоторых рубрик (например, с id= ‘1’ и ’67’), используйте в плагине или добавьте в файл functions.php код:
function exclude_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', '-1,-67' ); } } add_action( 'pre_get_posts', 'exclude_category' );
Изменение количества записей для разных случаев
В WordPress есть одна глобальная настройка для количества записей на главной странице блога и на страницах рубрик, архивов по месяцам и т.д. (Параметры — Чтение). Применяя фильтр, можно избирательно изменять эту и другие настройки, например, для главной страницы или страницы определенной рубрики.
Пример изменения параметра ‘posts_per_page’ (записей на странице):
function change_posts_per_page( $query ) { // изменять не в админке и только главный запрос if ( is_admin() || ! $query->is_main_query() ) return; if ( is_home() ) { // На главной показывать только 1 запись $query->set( 'posts_per_page', 1 ); return; } if ( is_post_type_archive( 'movie' ) ) { // 50 записей в архиве произвольноготипа'movie' $query->set( 'posts_per_page', 50 ); return; } } add_action( 'pre_get_posts', 'change_posts_per_page', 1 );
Дополнительно: в разделе «Функции WordPress» также:
- URL и другая информация о блоге
- Функции, подключающие шаблоны
- wp_list_categories
- Вход в систему
- wp_list_pages — список ссылок на страницы
- Функции даты и времени в WordPress
- wp_link_pages — ссылки на страницы статьи с nextpage
- Шорткод
- Функции для работы с метками
- Функции action, filter, plugin и локализация
- Произвольные поля (custom fields)
- Функции для работы с типами данных (записей)
- Функция wp_insert_post — обновление/добавление записи заданного типа
- Административные меню
- Функции для работы с пользователями и ролями пользователей
Записи и рубрики
Рубрики
Блог с одной узкой темой — большая редкость. Обычно на блоге рассматривают несколько близких по содержанию тем. Рубрики созданы специально для того, чтобы отсортировать посты с разными темами. Например, вы ведете блог о путешествиях по Европе. Рассматриваете 5 стран: Италия, Германия, Швейцария, Австрия и Польша. Разумней будет не писать обо всем подряд, а сделать 5 рубрик, по странам. И в каждой рубрике рассматривать одну страну.
Для наглядности создадим новую рубрику. Переходим в раздел «Рубрики» и вводим название. В некоторых темах может выводиться описание, можете заполнить и это поле. Нажимаем «Добавить новую рубрику». Справа появилась наша новая рубрика.
Записи
В разделе «Все записи» показаны ваши записи на блоге. Обычно, записи относят к рубрике. Для добавления записи нажимаем «Добавить новую».
Вводим заголовок, текст записи, выбираем рубрику в блоке справа. Текст записи можно редактировать стандартными средствами WordPress, но лучше добавить плагин TinyMCE. Для добавления изображения в контент, ставим курсор в нужном месте и нажимаев «Добавить медиафайл». В открывшееся окно перетаскиваем нашу фотографию и нажимаем «Вставить в запись».
Кнопка «Просмотреть» позволяет увидеть вашу запись до публикации в блоге, т. е. до того, как ее увидят все остальные. Когда все готово — нажимаем «Опубликовать».
Блок «Формат» есть не во всех темах. Разница между форматами не особо велика, можете попробовать все варианты, нажимая кнопку «Просмотреть».
Мета-данные: Дополнительные данные записей
Задачи при разработке могут быть самыми разными и имеющихся полей в таблице всегда нахватает. Поэтому для расширения возможностей, любая запись в WordPress, т.е. любая строка в таблице может иметь дополнительные данные и они могут быть какими угодно — произвольными. Такие данные называются: метаданные, их еще называют мета-поля, произвольные поля, кастомные поля и бог знает как еще.
Все метаданные записей хранятся в таблице :
Поле | Значение | Индекс |
---|---|---|
meta_id | ID метаполя. Обычно нигде не используется… | основной |
post_id | ID записи из таблицы wp_posts. | post_id |
meta_key | Ключ метаполя. | meta_key |
meta_value | Значение метаполя. Всегда строка, массивы хранятся в сериализованном виде | — |
Для записей типа post, page метаполями можно управлять на странице редактирования записи:
Как включить метабокс произвольных полей в блочном редакторе Gutenberg?
-
У ревизий метаданных нет.
-
Мета-поле, имя которого начинается с нижнего подчёркивания () воспринимается движком как скрытое и по умолчанию в админке не отображается.
Так например в ВП для записей есть следующие служебные метаполя:
- — сохраняется название php файла шаблона, если для страницы был указан файл шаблона.
- — записывается метка времени и ID пользователя, который редактирует запись.
- — ID пользователя, который последним правил запись.
- — ID миниатюры записи (вложения).
-
Для управления метаполями у меня есть класс Kama_Post_Meta_Box. Также есть более мощные плагины:
- Advanced Custom Fields
- Carbon Fields
- Custom Field Suite
- и др.
- Подробнее про метаданные WordPress
Для управления метаполями в коде темы или плагина, существуют специальные функции:
get_post_meta() | Получает значение произвольного поля записи (поста). Позволяет также получить все метаполя. |
add_post_meta() | Добавляет произвольное поле для указанной записи (поста). |
update_post_meta() | Обновляет указанное произвольное поле (метаполе) указанной записи (поста) или добавляет новое. |
delete_post_meta() | Удалят все произвольные поля (метаполя) с указанным ключом у указанной записи (поста). |
get_post_custom() | Получает многомерный массив с данными всех произвольных полей текущего поста. |
get_post_custom_keys() | Получает массив с ключами произвольных полей, принадлежащих текущей записи. |
get_post_custom_values() | Получает массив значений произвольных полей с указанным названием у указанной записи (поста). |
the_meta() | Выводит произвольные поля записи (метаданные из wp_postmeta). Поля выводятся в списке <li>. Скрытые поля игнорируются. |
Консоль
После ввода логина и пароля мы попадаем на главную страницы админки — консоль. Здесь кратко собрана вся информация с вашего блога. Но есть блоки, которые не пригодятся, их я советую закрыть. Это:
- Добро пожаловать в WordPress!
- Другие новости WordPress
- Блог WordPress
- Плагины
- Быстрая публикация
- Свежие черновики
Для того, чтобы закрыть эти блоки, нажимаем «Настройки экрана» и снимаем галочки, с ненужных блоков. Более подробно про дополнительные поля я писал здесь.
Оставшиеся блоки можно перетаскивать. Также есть возможность выбрать количество столбцов. Я считаю, что 2 — самое то!
Когда не осталось ничего лишнего, мы видим данные по контенту на блоге:
- количество записей
- количество страниц
- количество рубрик
- количество комментариев
WP_Query PHP код для вывода постов в КАТЕГОРИИ с ДАТОЙ
В php коде ниже вводятся две переменные с ДАТАМИ. Текущая дата сравнивается с датой, которая будет в будущем.
Для чего это нужно? Например, я хочу вывести ТОВАРЫ, которые только поступят в продажу или ФИЛЬМЫ, которые только выйдут в ближайшем будущем. Если, например, такие ТОВАРЫ или ФИЛЬМЫ или ЧТО-ТО другое существует, то следует вывести ЗАПИСИ с этими произвольными полям. В противном случае в категории ничего не будет выводиться.
<?php global $query_string; $paged = get_query_var( ‘paged’, 1 ); $loop = new WP_Query( $args ); $categoryvariable = $cat; // Вводим свои значения // Текущая дата $date1 = date(‘Y-m-d’); // Текущая дата + 12 месяцев $date2 = date(‘Y-m-d’, strtotime(‘+12 month’)); $args = array( ‘post_type’ => ‘post’, ‘cat’ => $categoryvariable, // Выводим по произвольному полю ‘meta_key’ => ‘premiere’, // Нужен для правильной работы пангинации ‘paged’ => $paged, ‘orderby’ => ‘meta_value’, ‘order’ => ‘ASC’, ‘meta_query’=> array( ‘key’ => ‘premiere’, // Сравниваем значения двух дат ‘value’ => array($date1,$date2), // Обозначаем, что будет дата, формат ГодМесяцДень ‘type’ => ‘DATE’, // Сравниваем две даты, пример вывода: array(‘20500401′,’20500405’) ‘compare’ => ‘BETWEEN’ // Сравниваем, что не пустое. Если пустое — то не выводим. // ‘meta_compare’ => ‘!=’, ), ); query_posts( $args ); ?>