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