add_post_type_support()
Додає дод. можливості зазначеного типу записи. Наприклад, метабокси – блоки на сторінці редагування запису: редактор, автор, довільні поля, коментарі тощо.
Значення revisions
додає функцію ревізій для типу запису, а значення comments
вказує на кількість коментарів запису на сторінці адмін-панелі: список записів.
Зазвичай підтримувані метабокси запису вказуються при реєстрації нового типу запису функції register_post_type( 'supports' => [ 'title', 'editor' ] )
. Ця функція потрібна, щоб додати додаткові підтримувані метабокси нальоту.
Рекомендується використовувати функцію на події init .
Функція повинна викликатись після того, як тип запису зареєстровано. Тому що вона працює з глобальною змінною $_wp_post_type_features , в якій тип запису вже повинен існувати.
create_initial_post_types()
(дуже швидко) | 50000 разів – 0.05 сек
(швидкість світла)
Хуків немає.
Повертає
null
.
Використання
add_post_type_support( $post_type, $feature, ...$args );
-
$post_type
(рядок) (обов’язковий) - Тип посту.
-
$feature
(рядок/масив) (обов’язковий) Можливість, яку потрібно додати. Можливі параметри:
title
– Блок заголовка;editor
– Блок для введення контенту;author
– блог вибору автора;thumbnail
– блок вибору мініатюри запису;excerpt
– Блок введення цитати;trackbacks
– блок повідомлень;custom-fields
– блок встановлення довільних полів;comments
– Блок коментарів;revisions
– Блок ревізій;page-attributes
– блок атрибутів постійних сторінок (шаблон та деревоподібний зв’язок записів, деревоподібність має бути включена). Може бути використаний замість.post-formats
– блок форматів запису, якщо вони включені до теми.
-
…$args
(різне) -
Додаткові аргументи, які будуть передані у вказану в
$feature можливість. Має сенс тільки коли
$feature вказана одна можливість (рядок).
Приклади
#1 Приклади додавання різних можливостей
add_post_type_support( 'my_post_type', 'comments' ); add_post_type_support( 'my_post_type', [ 'author', 'excerpt', ]); add_post_type_support( 'my_post_type', 'my_feature', [ 'field' => 'value', ]);
#2 Підтримка цитат на постійних сторінках (page)
Цей приклад показує, як додати метабокс цитата до постійних сторінок (до типу запису page
). Такий блок, наприклад, має пости (записи), але не має постійних сторінок сторінок. Додайте такий код у functions.php :
add_action( 'init', 'my_custom_init'); function my_custom_init(){ add_post_type_support( 'page', 'excerpt' ); }
#3 Додавання додаткових метаполів до вже зареєстрованого типу запису
Допустимо, у нас є тип запису book
і до нього потрібно додати метаполі “довільні поля”, але тільки для адміністратора. Тобто. щоб автори ці поля не бачили. Робиться це таким кодом:
add_action( 'init', 'true_metaboxes_to_game'); function true_metaboxes_to_game(){ if( ! current_user_can('manage_options') ) return; add_post_type_support( 'book', ['custom-fields'] ); }
нотатки
- Global. Масив. $_wp_post_type_features
список змін
З версії 3.0.0 | Введено. |
З версії 5.3.0 | Formalizated existing and already documented …$args parameter by adding it до функції signature. |
add post type support WP 6.0.2
function add_post_type_support( $post_type, $feature, ...$args ) { Global $_wp_post_type_features; $features = (array) $feature; foreach ( $features as $feature ) { if ($ args) { $_wp_post_type_features[ $post_type ][ $feature ] = $args; } else { $_wp_post_type_features[ $post_type ][ $feature ] = true; } } }