Упрощаем создание меток названий для произвольных типов записей

В WordPress есть возможность управлять различными типами записей. Основным типом, который вы будете использовать в WordPress, являются записи блога. Но есть и другие, вроде Страниц и Вложений. Все типы записей в ВП хранятся в одной и той же таблице БД wp_posts, где один из столбцов этой таблицы определяет тип записи (post_type). В сегодняшней статье мы расскажем вам как упростить создание меток названий для произвольных типов записей.

В версии WordPress 3.0 была добавлена функция, которая позволяет вам с легкостью создавать свои собственные типы записей.

Для того, чтобы создать произвольный тип записей, вам нужно использовать функцию register_post_type(). Пример кода для создания:

add_action( 'init', 'create_post_type' );

function create_post_type()
{
    $args = array();
    register_post_type( 'post_type_name', $args);
}

Один из параметров этой функции $args, который нужен для того, чтобы передавать параметры для создания типов записей. Один из этих параметров — labels, который используется в типах записей для меню или же создания новых типов записей.

$labels = array(
  	'name'               => __( 'множественное название типа записи', 'text_domain' ),
  	'singular_name'      => __( 'единичное название типа записи', 'text_domain' ),
  	'add_new'            => _x( 'Добавить новое единичное название типа записи', '${4:Name}', 'text_domain' ),
  	'add_new_item'       => __( 'Добавить новое единичное название типа записи', 'text_domain}' ),
  	'edit_item'          => __( 'Редактировать единичное название типа записи', 'text_domain' ),
  	'new_item'           => __( 'Новое единичное название типа записи', 'text_domain' ),
  	'view_item'          => __( 'Просмотреть единичное название типа записи', 'text_domain' ),
  	'search_items'       => __( 'Искать множественное название типа записи', 'text_domain' ),
  	'not_found'          => __( 'Не найдено множественное название типа записи', 'text_domain' ),
  	'not_found_in_trash' => __( 'Не найдено название типа записи в Корзине', 'text_domain' ),
  	'parent_item_colon'  => __( 'Родительское единичное название типа записи:', 'text_domain' ),
  	'menu_name'          => __( 'Найдено множественное название типа записи', 'text_domain' ),
);

Создание произвольных типов записей

Если вы планируете создавать много различных типов записей, то у вас будет множество одинакового кода для создания меток названий для типов записей. Ниже мы приводим небольшую функцию для создания этих меток в ваших типах записей, обрабатывающую единственное и множественное число меток.

function create_post_type_labels($singular, $plural = null) {

	if ($plural === null) {
		$plural = $singular.'s';
	}

	$labels = array(
		'name'               => __( $plural, 'text-domain'),
		'singular_name'      => __( $singular, 'text-domain'),
		'menu_name'          => __( $plural, 'text-domain'),
		'name_admin_bar'     => __( $singular, 'text-domain'),
		'add_new'            => __( 'Добавить новую '.$singular, 'text-domain'),
		'add_new_item'       => __( 'Добавить новую '.$singular, 'text-domain'),
		'new_item'           => __( 'Новая '.$singular, 'text-domain'),
		'edit_item'          => __( 'Редактировать '.$singular, 'text-domain'),
		'view_item'          => __( 'Просмотреть '.$singular, 'text-domain'),
		'all_items'          => __( 'Все '.$plural, 'text-domain'),
		'search_items'       => __( 'Поиск '.$plural, 'text-domain'),
		'parent_item_colon'  => __( 'Родительская '.$plural.':', 'text-domain'),
		'not_found'          => __( 'Не найдено '.$plural.', 'text-domain'),
		'not_found_in_trash' => __( 'Не найдено '.$plural.' в Корзине.', 'text-domain')
	);

	return $labels;
}

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

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top