В 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;
}
Мы надеемся, что эта статья помогла вам облегчить работу с метками названий при создании произвольных типов записей.
