get_post_stati()
Отримує всі існуючі статуси постів як масиву імен чи масиву об’єктів.
Працює на основі глобальної змінної $wp_post_statuses , яка містить повну інформацію про статуси у вигляді масиву об’єктів.
Працює на основі:
Хуків немає.
Хуків немає.
Повертає
Строку[]|stdClass[]
. масив імен або масив об’єктів залежить від параметра $output .
Використання
get_post_stati ($ args, $ output, $ operator);
-
$args
(рядок/масив) -
Масив – ключ => значення (
key=>value
), які мають зустрічатися в отримуваних статусах.
За замовчуванням: array() -
$output
(рядок) -
Виводити імена чи об’єкти. names – виведе імена, у будь-якому іншому випадку об’єкти.
За замовчуванням: ‘names’ -
$operator
(рядок) -
Логічний оператор фільтра $args. “or” шукатиме будь-який параметр із зазначених у $args у статусів. “and” буде шукати одночасно всі зазначені параметри статусу.
За замовчуванням: ‘and’
Приклади
#1 Отримаємо імена всіх видів статусів на блозі:
$stati = get_post_stati(); /* $stati = Array ( [publish] => publish [future] => future [draft] => draft [pending] => pending [private] => private [trash] => trash [auto-draft] => auto-draft [inherit] => inherit ) */
#2 Отримаємо об’єкти всіх видів статусів на блозі:
$stati = get_post_stati(0, 'a');
$stati міститиме:
#3 Отримаємо статуси з потрібними параметрами (фільтр статусів)
У цьому вся прикладі ми отримаємо імена статусів у яких встановлено параметр publicly_queryable , тобто. ті статуси, які беруть участь у пошуку по сайту:
$stati = get_post_stati( [ 'publicly_queryable'=>true ], 'names' ); /* $stati = Array( [publish] => publish ) */
#4 Приклад, що показує, як працює параметр $operator
Вкажемо 2 параметри масиву $args. or – виведе статуси у яких зустрічається або перший чи другий, а and виведе статуси у яких зустрічаються обидва параметри:
$stati = get_post_stati( [ 'show_in_admin_status_list'=>true, 'protected'=>true ], 'names', 'or' ); /* $stati = Array ( [publish] => publish [future] => future [draft] => draft [pending] => pending [private] => private [trash] => trash ) */
і те саме з “and”:
$stati = get_post_stati( [ 'show_in_admin_status_list'=>true, 'protected'=>true ], 'names', 'and' ); /* $stati = Array ( [future] => future [draft] => draft [pending] => pending ) */
нотатки
- Global. stdClass[]. $wp_post_statuses List of post statuses.
- Дивіться: register_post_status()
список змін
З версії 3.0.0 | Введено. |
Код get_post_stati() get post stati WP 6.0.2
function get_post_stati( $args = array(), $output = 'names', $operator = 'and' ) { global $wp_post_statuses; $field = ('names' === $output)? 'name': false; return wp_filter_object_list( $wp_post_statuses, $args, $operator, $field ); }