WordPress как на ладони
wordpress jino

add_post_type_support() WP 3.0

Добавляет указанный метабокс для указанного типа записи. Метабоксы это блоки на странице редактирования записи: редактор, автор, произвольные поля, комментарии и т.д.

Также, значение revisions добавляет функцию ревизий для типа записи, а значение comments указывает на показ количества комментариев записи на странице админ-панели: список записей.

Обычно поддерживаемые метабоксы записи указываются при регистрации нового типа записи в функции register_post_type( 'supports' => array('title','editor') ). Эта функция нужна чтобы добавить поддерживаемые метабоксы налету.

Рекомендуется подключать функцию во время события init.

✈ 1 раз = 0.000021с = очень быстро | 50000 раз = 0.05с = скорость света

Хуков нет.

Использование

<?php add_post_type_support( $post_type, $supports ) ?>
$post_type(строка) (обязательный) (макс. 20)
Тип поста.
$supports(строка/массив) (обязательный)

Аргументы:

  • title - блок заголовка;
  • editor - блок для ввода контента;
  • author - блог выбора автора;
  • thumbnail - блок выбора миниатюры записи;
  • excerpt - блок ввода цитаты;
  • trackbacks - блок уведомлений;
  • custom-fields - блок установки произвольных полей;
  • comments - блок комментариев;
  • revisions - блок ревизий;
  • page-attributes - блок атрибутов постоянных страниц (шаблон и древовидная связь записей, древовидность должна быть включена). Может быть использовано вместо.
  • post-formats – блок форматов записи, если они включены в теме.

По умолчанию: нет

Примеры

#1 Поддержка цитат у постоянных страниц (page)

Этот пример показывает, как добавить метабокс цитата к постоянным страницам (к типу записи page). Такой блок, например, есть у постов (записей), но нет у постоянных страниц страниц. Добавьте такой код в functions.php:

function my_custom_init() {
	add_post_type_support( 'page', 'excerpt' );
}
add_action('init', 'my_custom_init');

#2 Добавление дополнительных метаполей к уже зарегистрированному типу записи

Допустим у нас есть тип записи book и к нему нужно добавить метаполе "произвольные поля", но только для администратора. Т.е. чтобы авторы эти поля не видели. Делается это таким кодом:

function true_metaboxes_to_game(){
	if( ! current_user_can('manage_options') ) return;
	add_post_type_support('book', array('custom-fields') );
}
add_action('init', 'true_metaboxes_to_game');

Заметки

Функция должна вызываться после того, как тип записи зарегистрирован, не до этого, потому что она работает с глобальной переменной $_wp_post_type_features, указанный пункт которой (тип записи) должен быть уже определен.

Код add post type support: wp-includes/post.php VER 4.9.1

<?php
function add_post_type_support( $post_type, $feature ) {
	global $_wp_post_type_features;

	$features = (array) $feature;
	foreach ($features as $feature) {
		if ( func_num_args() == 2 )
			$_wp_post_type_features[$post_type][$feature] = true;
		else
			$_wp_post_type_features[$post_type][$feature] = array_slice( func_get_args(), 2 );
	}
}

Cвязанные функции

Из метки: post_type (произвольный тип записи)

Еще из раздела: Типы записей

petrozavodsky 706alkoweb.ru
Делаю веб, можно сказать работаю с WordPress. Временами живу в Краснодаре.
add_post_type_support Комментариев нет

Здравствуйте, !

Ваш комментарий