Новости

Как правильно применять в JavaScript асинхронные функции: примеры работы с ES 2017
От автора: возможность писать на JavaScript асинхронные функции является важным обновлением в ES2017. Что такое асинхронные функции? Асинхронные функции — это функции, которые возвращают promise. Мы

WordPress JavaScript — как правильно подключить файл скрипта к шаблону сайта
Использование в шаблонах WordPress JavaScript скриптов давно стало обычным делом. Их подключение возможно несколькими способами, начиная с классического варианта с использование голого HTML. Но чтобы все

Как исправить JavaScript error "ВКонтакте"? Что делать при ошибках JavaScript в "ВКонтакте"?
"ВКонтакте" - это на сегодняшний день самый удобный русскоязычный ресурс, который является не только популярнейшей социальной сетью, но и сервисом для прослушивания аудиозаписей и просмотра видео. Здесь

Правильное использование Tor Browser
Tor Browser полностью анонимен – Миф или реальность? Многие считают, что Tor — это полностью анонимное и безопасное средство для интернет-серфинга, которое не дает никому возможность контролировать то,

Javascript error object is not a function вконтакте как исправить
"ВКонтакте" - это на сегодняшний день самый удобный русскоязычный ресурс, который является не только популярнейшей социальной сетью, но и сервисом для прослушивания аудиозаписей и просмотра видео. Здесь

Как исправить ошибку javascript error вконтакте
На сегодняшний день «Вконтакте» является наиболее удобным русскоязычным ресурсом, который представляет собой не только крупнейшую социальной сеть, но и сервис для просмотра видео и прослушивания аудиозаписей.

Что такое JavaScript и для чего он используется?
Подробности декабря 10, 2015 Просмотров: 20225 В интернете миллионы веб-страниц,

Практика javascript синтаксис написания
Javascript — это язык программирования, который активно используется для построения динамических веб страниц. Собственно с этой целью он и был изобретен. У нашего с вами языка еще есть такое интересное

JavaScript учебник
Код функций в JavaScript начинает выполнение после их вызова. Функции являются одним из наиболее важных строительных блоков кода в JavaScript. Функции состоят из набора команд и обычно выполняют

Рекомендации решившим начать изучать JavaScript
Если вы решили начать изучать JavaScript , то эта статья для вас. Надеюсь, что её прочтение избавит вас в будущем от множества ошибок и сделает его изучения более простым, быстрым и эффективным. В статье

Методы и свойства класса WP_Query

Опубликовано: 02.09.2018

Будем считать, что это будет небольшое (но довольно полезное) дополнение к посту про создание циклов при помощи WP_Query .

Сначала я хотел дописать эту часть прямо там в комментариях, но она получилась не такой уж и небольшой, да и к тому же не все люди читают комменты.

Сначала создам объект, он мне ещё пригодится позднее:

$args = array ( 'cat' => 1 , 'posts_per_page' => 5 , 'orderby' => 'comment_count' // WordPress 2.9+ ) ; $myquery = new WP_Query ( $args ) ;

Свойства:

Во всех последующих примерах будет использоваться объект, созданный в начале поста, ну то есть двумя строчками выше ????

$query (массив) — параметры созданного объекта,
print_r ( $myquery -> query ) ; /* Array ( [cat] => 1 [orderby] => comment_count [posts_per_page] => 5 ) */
$query_vars (массив) — все параметры объекта, включая те, которые не были указаны при создании,
print_r ( $myquery -> query_vars ) ; /* Array ( [cat] => 1 [posts_per_page] => 5 [orderby] => comment_count [error] => [m] => 0 [p] => 0 [post_parent] => [subpost] => [subpost_id] => [attachment] => [attachment_id] => 0 [name] => [static] => [pagename] => [page_id] => 0 [second] => [minute] => [hour] => [day] => 0 [monthnum] => 0 [year] => 0 [w] => 0 [category_name] => uncategorized [tag] => [tag_id] => [author_name] => [feed] => [tb] => [paged] => 0 [comments_popup] => [meta_key] => [meta_value] => [preview] => [s] => [sentence] => [fields] => [category__in] => Array ( [0] => 1 ) [category__not_in] => Array ( ) [category__and] => Array ( ) [post__in] => Array ( ) [post__not_in] => Array ( ) [tag__in] => Array ( ) [tag__not_in] => Array ( ) [tag__and] => Array ( ) [tag_slug__in] => Array ( ) [tag_slug__and] => Array ( ) [ignore_sticky_posts] => [suppress_filters] => [cache_results] => 1 [update_post_term_cache] => 1 [update_post_meta_cache] => 1 [post_type] => [nopaging] => [comments_per_page] => 50 [no_found_rows] => [order] => DESC ) */
$posts (массив) — содержит запрошенные посты, $post_count (целое) — количество запрошенных постов,
echo $myquery -> post_count ;
$found_posts (целое) — общее количество постов, удовлетворяющих условиям, $max_num_pages (целое) — общее количество страниц, по сути является отношением $found_posts / $posts_count, $current_post (целое) (доступен только в цикле) — индекс текущего поста при выводе, номер по порядку, $post (объект) (доступен только в цикле) — содержит информацию о текущей записи.
$obj = $myquery -> post ; /* stdClass Object ( [ID] => 257 [post_author] => 1 [post_date] => 2012-04-20 08:45:21 [post_date_gmt] => 2012-04-20 08:45:21 [post_content] => [post_title] => Liber perfecto definitionem duo ne. [post_excerpt] => [post_status] => publish [comment_status] => open [ping_status] => open [post_password] => [post_name] => liber-perfecto-definitionem-duo-ne [to_ping] => [pinged] => [post_modified] => 2012-04-20 08:45:37 [post_modified_gmt] => 2012-04-20 08:45:37 [post_content_filtered] => [post_parent] => 0 [guid] => https://misha.blog/?p=257 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 1 [filter] => raw ) */ echo $obj -> ID ;

Методы:

Я не стал включать сюда методы, смысл которых мне непонятен, возможно позднее я их добавлю.

init() — инициализация объекта, сбрасывает все свойства класса на NULL, 0 или FALSE get( $query_var ) — вытаскивает один из установленных параметров объекта,
echo $myquery -> get ( 'posts_per_page' ) ; // выведет 5
set( $query_var, $value ) — устанавливает значение одного из параметров, кстати ещё один пример использования можно найти в статье про модификацию основного цикла .
$myquery -> set ( 'orderby' , 'rand' ) ;
the_post() (для использования в цикле) — устанавливает глобальную переменную $post, после обращения к этому методу можно использовать такие функции как the_title(), the_content() и прочее.
$myquery -> the_post ( ) ; echo '<h2>' ; the_title ( ); echo '</h2>' ; // заголовок echo $post -> comment_count ; // количество комментов
have_posts() — определяем, существуют ли записи, удовлетворяющие установленным параметрам, то есть в данном случае, есть ли посты в категории с ID=1, можно использовать при создании цикла:
if ( $myquery -> have_posts ( ) ) : while ( $myquery -> have_posts ( ) ) : $myquery -> the_post ( ) ; echo '<h2>' ; the_title ( ); echo '</h2>' ; endwhile ; endif ;

Смотрите также

rss