Как использовать и настроить плагин для создания кастомных типов записей в WordPress?
Здравствуйте! У меня возникли сложности с использованием и настройкой плагина для создания кастомных типов записей в WordPress. Я хотел бы узнать, как правильно настроить данный плагин и использовать его на своем сайте.
Конкретно, у меня есть потребность создать кастомный тип записей для портфолио. Я хочу иметь возможность добавлять проекты с изображениями, описанием и другими дополнительными полями. Однако я не совсем понимаю, как правильно настроить плагин и создать необходимые поля в админке.
Можете ли вы помочь мне разобраться с этим? Ниже приведу пример кода, где мне требуется помощь:
function create_portfolio_post_type() {
register_post_type( 'portfolio',
array(
'labels' => array(
'name' => __( 'Портфолио' ),
'singular_name' => __( 'Проект' )
),
'public' => true,
'has_archive' => true,
'supports' => array( 'title', 'editor', 'thumbnail' )
)
);
}
add_action( 'init', 'create_portfolio_post_type' );
В данном примере я создаю кастомный тип записей с названием "Портфолио" и его единичным вариантом "Проект". Однако мне необходимо добавить дополнительные поля, такие как описание проекта или категория. Как это сделать?
Буду очень благодарна за любую помощь и рекомендации по использованию и настройке плагина для создания кастомных типов записей в WordPress!
Ответы:
function add_portfolio_fields() {
register_meta( 'post', 'project_description', array(
'show_in_rest' => true,
'type' => 'string',
'single' => true,
'auth_callback' => function() {
return current_user_can( 'edit_posts' );
}
) );
register_meta( 'post', 'project_category', array(
'show_in_rest' => true,
'type' => 'string',
'single' => true,
'auth_callback' => function() {
return current_user_can( 'edit_posts' );
}
) );
}
add_action( 'init', 'add_portfolio_fields' );
В приведенном выше коде мы регистрируем два новых поля: "project_description" (описание проекта) и "project_category" (категория). Важно отметить, что мы использовали параметр 'show_in_rest' для включения этих полей в редактор блоков Gutenberg.
Теперь, когда поля зарегистрированы, мы можем использовать их в административной панели WordPress. Для этого можем использовать функцию add_meta_box(), которая позволяет добавлять метаблоки к редактору записей.
function add_portfolio_meta_box() {
add_meta_box(
'portfolio_meta_box',
'Дополнительные поля',
'display_portfolio_meta_box',
'portfolio',
'normal',
'high'
);
}
add_action( 'add_meta_boxes', 'add_portfolio_meta_box' );
function display_portfolio_meta_box( $post ) {
$project_description = get_post_meta( $post->ID, 'project_description', true );
$project_category = get_post_meta( $post->ID, 'project_category', true );
?>
<input type="text" id="project_description" name="project_description" value="" />
<input type="text" id="project_category" name="project_category" value="" />
<?php
}
function save_portfolio_meta_data( $post_id ) {
if ( isset( $_POST['project_description'] ) ) {
update_post_meta( $post_id, 'project_description', sanitize_text_field( $_POST['project_description'] ) );
}
if ( isset( $_POST['project_category'] ) ) {
update_post_meta( $post_id, 'project_category', sanitize_text_field( $_POST['project_category'] ) );
}
}
add_action( 'save_post_portfolio', 'save_portfolio_meta_data' );
В этом коде мы используем функцию add_meta_box() для добавления метаблока с дополнительными полями в редактор записей типа "Портфолио". В функции display_portfolio_meta_box() мы выводим поля описания проекта и категории, используя функцию get_post_meta() для получения сохраненных значений. При сохранении записи данные из полей сохраняются с помощью функции update_post_meta().
Надеюсь, эти примеры помогут тебе создать кастомный тип записей "Портфолио" с дополнительными полями в WordPress. Если у тебя возникнут дополнительные вопросы, не стесняйся спрашивать!Кастомные типы записей в WordPress позволяют создавать собственные типы контента, что позволяет легко организовывать и управлять различными типами информации на сайте, включая портфолио, как в твоем случае. Чтобы добавить дополнительные поля к кастомному типу записей, тебе потребуется использовать дополнительный плагин, который добавит эту функциональность.
Одним из самых популярных плагинов для создания кастомных типов записей является Custom Post Type UI. С его помощью ты сможешь легко создать и настроить свои кастомные типы записей и добавить к ним дополнительные поля.
Чтобы добавить описание проекта и категорию к твоему кастомному типу записей "Портфолио", следуй этим шагам:
- Установи и активируй плагин Custom Post Type UI.
- Перейди в раздел "Custom Post Types" в административной панели WordPress.
- Щелкни кнопку "Add New" и заполни необходимые поля для создания нового кастомного типа записи.
- В разделе "Supports" выбери необходимые тебе поля, включая "Editor" для описания проекта и "Categories" для категорий.
- После настройки нажми кнопку "Publish" для сохранения кастомного типа записи.
После того как кастомный тип записи "Портфолио" будет создан, ты сможешь создавать новые записи этого типа и заполнять необходимые поля, включая описание проекта и категорию. Все изменения будут отображаться в административной панели WordPress и на фронтенде сайта.
Надеюсь, эта информация поможет тебе настроить и использовать плагин для создания кастомных типов записей в WordPress. Желаю удачи!