Функция возвращает массив объектов (или массив имён) всех поддерживаемых статусов постов с возможностью фильтрации результатов по значению определенного параметра в объекте статуса.
get_post_stati( $args = array(), $output = 'names', $operator = 'and' )
key=>value (параметр объекта=>значение параметра), то есть будут возвращены только те статусы, у которых имеется этот параметр, равный заданному значениюnames то будет выведен массив объектов статусов постов, по умолчанию выводятся только имена (массив из имен) тех статусов, которые удовлетворяют условию $argsAND — каждый объект должен удовлетворять условию, заданному в $argsOR — условию в $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');
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.