get_post_stati() WP 3.0.0

Отримує всі існуючі статуси постів як масиву імен чи масиву об’єктів.

Працює на основі глобальної змінної $wp_post_statuses , яка містить повну інформацію про статуси у вигляді масиву об’єктів.

Працює на основі:
Хуків немає.

Повертає

Строку[]|stdClass[]. масив імен або масив об’єктів залежить від параметра $output .

Використання

get_post_stati ($ args, $ output, $ operator);
$args
(рядок/масив)
Масив – ключ => значення (
key=>value), які мають зустрічатися в отримуваних статусах.


За замовчуванням: array()
$output
(рядок)
Виводити імена чи об’єкти. names – виведе імена, у будь-якому іншому випадку об’єкти.


За замовчуванням: ‘names’
$operator
(рядок)
Логічний оператор фільтра $args. “or” шукатиме будь-який параметр із зазначених у $args у статусів. “and” буде шукати одночасно всі зазначені параметри статусу.


За замовчуванням: ‘and’

Приклади

0

#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 ) */
0

#2 Отримаємо об’єкти всіх видів статусів на блозі:

$stati = get_post_stati(0, 'a');

$stati міститиме:

Array ( [publish] => stdClass Object ( [label] => Published [label_count] => Array ( [0] => Published (%s) [1] => Published (%s) [singular] => Published (%s) [Plural] => Published (%s) [context] => [domain] => ) [exclude_from_search] => [_builtin] => 1 [public] => 1 [internal] => [protected] => [private] => [publicly_queryable] => 1 [show_in_admin_status_list] => 1 [show_in_admin_all_list] => 1 [name] => publish ) [future] => stdClass Object ( [label] => Scheduled [label_count] => Array ( [0] => Scheduled (%s) [1] => Scheduled (%s) [singular] => Scheduled (%s) [Plural] => Scheduled (%s) [context] => [domain] => ) [exclude_from_search] => [_builtin] => 1 [public] => [internal] => [protected] => 1 [private] => [publicly_queryable] => [show_in_admin_status_list] => 1 [show_in_admin_all_list] => 1 [name] => future ) [draft] => stdClass Object ( [label] => Draft [label_count] => Array ( [0] => Draft (%s) [1] => Drafts (%s) [singular] => Draft (%s) [plural] => Drafts (%s) [context] => [domain] => ) [exclude_from_search] => [_builtin] => 1 [public] => [internal] => [protected] => 1 [private] => [publicly_queryable] => [show_in_admin_status_list] => 1 [show_in_admin_all_list] => 1 [name] => draft ) [pending] => stdClass Object ( [label] => Pending [label_count] => Array ( [0] => Pending (%s) [1] => Pending (%s) [singular] => Pending (%s) [Plural] => Pending (%s) [context] => [domain] => ) [exclude_from_search] => [_builtin] => 1 [public] => [internal] => [protected] => 1 [private] => [publicly_queryable] => [show_in_admin_status_list] => 1 [show_in_admin_all_list] => 1 [name] => pending ) [private] => stdClass Object ( [label] => Private [label_count] => Array ( [0] => Private (%s) [1] => Private (%s) [singular] => Private (%s) [plural] => Private (%s) [context] => [domain] => ) [exclude_from_search] => [_builtin] => 1 [public] => [internal] => [protected] => [private] => 1 [publicly_queryable] => [show_in_admin_status_list] => 1 [show_in_admin_all_list] => 1 [name] => private ) [trash] => stdClass Object ( [label] => Trash [label_count] => Array ( [0] => Trash (%s) [1] => Trash (%s) [singular] => Trash (%s) [Plural] => Trash (%s) [context] => [domain] => ) [exclude_from_search] => 1 [_builtin] => 1 [public] => [internal] => 1 [protected] => [private] => [publicly_queryable] => [show_in_admin_status_list] => 1 [show_in_admin_all_list] => [name] => trash ) [auto-draft] => stdClass Object ( [label] => auto-draft [label_count] => Array ( [0] => auto-draft [1] => auto-draft ) [exclude_from_search] => 1 [_builtin] => 1 [public] => [internal] => 1 [protected] => [private] => [publicly_queryable] => [show_in_admin_status_list] => [show_in_admin_all_list] => [name] => auto-draft ) [inherit] => stdClass Object ( [label] => inherit [label_count] => Array ( [0] => inherit [1] => inherit ) [exclude_from_search] => [_builtin] => 1 [public] => [internal] => 1 [protected] => [private] => [publicly_queryable] => [show_in_admin_status_list] => [show_in_admin_all_list] => [name] => inherit ) )
0

#3 Отримаємо статуси з потрібними параметрами (фільтр статусів)

У цьому вся прикладі ми отримаємо імена статусів у яких встановлено параметр publicly_queryable , тобто. ті статуси, які беруть участь у пошуку по сайту:

$stati = get_post_stati( [ 'publicly_queryable'=>true ], 'names' ); /* $stati = Array( [publish] => publish ) */
0

#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 ) */

нотатки

список змін

З версії 3.0.0Введено.

Код 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 ); }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *