add spavochniki and rfo
This commit is contained in:
90
inc/spravochniki.php
Normal file
90
inc/spravochniki.php
Normal file
@@ -0,0 +1,90 @@
|
||||
<?php
|
||||
|
||||
function agro_register_spravochniki_post_type() {
|
||||
register_post_type('spravochniki', [
|
||||
'labels' => [
|
||||
'menu_name' => 'Справочники',
|
||||
'name' => 'Статьи',
|
||||
'singular_name' => 'Статья',
|
||||
'add_new' => 'Добавить статью',
|
||||
'add_new_item' => 'Добавить новую статью',
|
||||
'edit_item' => 'Редактировать статью',
|
||||
'new_item' => 'Новая статья',
|
||||
'view_item' => 'Посмотреть статью',
|
||||
'search_items' => 'Искать статью',
|
||||
'not_found' => 'Не найдено',
|
||||
'not_found_in_trash' => 'В корзине не найдено',
|
||||
],
|
||||
'public' => true,
|
||||
'has_archive' => false,
|
||||
'rewrite' => true, // переопределим вручную
|
||||
'hierarchical' => false,
|
||||
'supports' => ['title', 'editor', 'excerpt', 'thumbnail'],
|
||||
'taxonomies' => ['spravochnik_category'], // прикрепим свою таксономию
|
||||
'show_in_rest' => true, // поддержка Gutenberg
|
||||
'menu_icon' => 'dashicons-book-alt',
|
||||
]);
|
||||
|
||||
// Таксономия: рубрики справочников
|
||||
register_taxonomy('spravochnik_category', 'spravochniki', [
|
||||
'labels' => [
|
||||
'name' => 'Справочники',
|
||||
'singular_name' => 'Справочник',
|
||||
'search_items' => 'Искать справочник',
|
||||
'all_items' => 'Все справочники',
|
||||
'parent_item' => 'Родительская рубрика',
|
||||
'parent_item_colon' => 'Родительская рубрика:',
|
||||
'edit_item' => 'Редактировать справочник',
|
||||
'update_item' => 'Обновить справочник',
|
||||
'add_new_item' => 'Добавить новый справочник',
|
||||
'new_item_name' => 'Новое имя справочника',
|
||||
'menu_name' => 'Справочники',
|
||||
],
|
||||
'public' => true,
|
||||
'hierarchical' => true,
|
||||
'rewrite' => false, // переопределим вручную
|
||||
'show_in_rest' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
add_action('init', 'agro_register_spravochniki_post_type');
|
||||
|
||||
|
||||
// Подзаголовок
|
||||
function agro_allow_meta_boxes_in_gutenberg($use_block_editor, $post_type) {
|
||||
if ($post_type === 'spravochniki') {
|
||||
return true; // разрешаем Gutenberg
|
||||
}
|
||||
return $use_block_editor;
|
||||
}
|
||||
add_filter('use_block_editor_for_post_type', 'agro_allow_meta_boxes_in_gutenberg', 10, 2);
|
||||
|
||||
|
||||
function agro_add_spravochnik_subtitle_meta_box() {
|
||||
add_meta_box(
|
||||
'agro_spravochnik_subtitle',
|
||||
'Подзаголовок',
|
||||
'agro_spravochnik_subtitle_callback',
|
||||
'spravochniki',
|
||||
'side',
|
||||
'high' // <-- вот здесь!
|
||||
);
|
||||
}
|
||||
add_action('add_meta_boxes', 'agro_add_spravochnik_subtitle_meta_box');
|
||||
|
||||
|
||||
function agro_spravochnik_subtitle_callback($post) {
|
||||
$subtitle = get_post_meta($post->ID, '_spravochnik_subtitle', true);
|
||||
echo '<input type="text" name="spravochnik_subtitle" value="' . esc_attr($subtitle) . '" style="width:100%;" />';
|
||||
}
|
||||
|
||||
function agro_save_spravochnik_subtitle($post_id) {
|
||||
if (array_key_exists('spravochnik_subtitle', $_POST)) {
|
||||
update_post_meta($post_id, '_spravochnik_subtitle', sanitize_text_field($_POST['spravochnik_subtitle']));
|
||||
}
|
||||
}
|
||||
add_action('save_post', 'agro_save_spravochnik_subtitle');
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user