Функция возвращает массив объектов (или массив имён) всех поддерживаемых статусов постов с возможностью фильтрации результатов по значению определенного параметра в объекте статуса.
get_post_stati( $args = array(), $output = 'names', $operator = 'and' )
key=>value
(параметр объекта=>значение параметра), то есть будут возвращены только те статусы, у которых имеется этот параметр, равный заданному значениюnames
то будет выведен массив объектов статусов постов, по умолчанию выводятся только имена (массив из имен) тех статусов, которые удовлетворяют условию $args
AND
— каждый объект должен удовлетворять условию, заданному в $args
OR
— условию в $args
должен удовлетворять хотя бы один из объектовNOT
— будут возвращены все статусы, не соответствующие условиям из массива $args
Получаем массив объектов всех статусов постов:
$all_statuses = get_post_stati( array(), 'objects' );
Этого также можно добиться, обратившись к глобальной переменной $wp_post_statuses
.
global $wp_post_statuses; $all_statuses = $wp_post_statuses;
Теперь разберемся с фильтрованием результатов, предположим, нам нужно получить все статусы постов, у которых параметр public = true
, тогда:
$public_statuses = get_post_stati( array( 'public' => true ), 'objects', 'OR');
А теперь наоборот, получим статусы постов, у которых параметр public
равен чему угодно, но только не true
:
$not_public_statuses = get_post_stati( array( 'public' => true ), 'objects', 'NOT');
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.