Поддержка Проблемы и решения Шаблоны для своих типов записей

  • Добрый день/утро/вечер/ночь, уважаемые форумчане.

    Дано 4-5 видов своих записей с различными полями для каждого типа, реализованных по средствам ACF Pro. Свои записи создаём по средствам register_post_type(‘имя’, $args).

    Подскажите пожалуйста, как создать свои шаблоны для своих же типов записей? В идеале для каждого типа — свой шаблон, page.php и single.php соответственно.

    ps вариант page-name.php и single-name.php где name — имя своего типа записей, не прокатил…

    • Тема изменена 2 нед., 1 день назад пользователем  tupoi.
    • Тема изменена 2 нед., 1 день назад пользователем  tupoi.
Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В идеале для каждого типа — свой шаблон, page.php и single.php соответственно.

    Чем должны отличаться page.php и single.php? Если имелся в виду шаблон архива записей — есть archive-name.php, где name — имя типа записей.

    вариант page-name.php и single-name.php где name — имя своего типа записей, не прокатил…

    single-name.php должен был прокатить.

    вариант page-name.php и single-name.php где name — имя своего типа записей, не прокатил…

    single-name.php должен был прокатить.

    не прокатывает, в том то всё и дело

    • Ответ изменён 2 нед., 1 день назад пользователем  tupoi.

    Извиняюсь за длинный код, но в functions это выглядит так:

    add_action( 'init', 'true_register_post_type_init' ); 
    function true_register_post_type_init() {
    	$labels = array(
    		'name' => 'Цели конференции',
    		'singular_name' => 'Цели конференции', 
    		'add_new' => 'Добавить блок цели',
    		'add_new_item' => 'Добавить новый блок', 
    		'edit_item' => 'Редактировать цели',
    		'new_item' => 'Новый блок',
    		'all_items' => 'Все блоки',
    		'view_item' => 'Просмотр на сайте',
    		'search_items' => 'Искать',
    		'not_found' =>  'Цели не выбраны',
    		'not_found_in_trash' => 'Блок не выбран',
    		'menu_name' => 'Цели' 
    	);
    	$args = array(
    		'labels' => $labels,
    		'public' => true,
    		'show_ui' => true, 
    		'has_archive' => true,
    		'show_in_rest' => true,
    		'capability_type' => 'post',
    		'taxonomies' => array( 'genres' ),
            'hierarchical' => false,
            'public' => true,
            'show_ui' => true,
            'show_in_menu' => true,
            'show_in_nav_menus' => true,
            'show_in_admin_bar' => true,
            'can_export' => true,
            'has_archive' => true,
            'exclude_from_search' => false,
            'publicly_queryable' => true,
    		'menu_position' => 5, 
    		'supports' => array( 'title', 'thumbnail', 'editor')
    	);
    	register_post_type('priem', $args);
    }
    
    add_action( 'init', 'true_register_post_type_init_2' );
    function true_register_post_type_init_2() {
    	$labels = array(
    		'name' => 'Спикеры',
    		'singular_name' => 'Спикеры', 
    		'add_new' => 'Добавить блок спикеры',
    		'add_new_item' => 'Добавить новый блок',
    		'edit_item' => 'Редактировать спикеров',
    		'new_item' => 'Новый блок',
    		'all_items' => 'Все блоки',
    		'view_item' => 'Просмотр на сайте',
    		'search_items' => 'Искать',
    		'not_found' =>  'Цели не выбраны',
    		'not_found_in_trash' => 'Блок не выбран',
    		'menu_name' => 'Спикеры' 
    	);
    	$args = array(
    		'labels' => $labels,
    		'public' => true,
    		'show_ui' => true, 
    		'has_archive' => true,
    		'show_in_rest' => true,
    		'capability_type' => 'post',
    		'taxonomies' => array( 'genres' ),
            'hierarchical' => false,
            'public' => true,
            'show_ui' => true,
            'show_in_menu' => true,
            'show_in_nav_menus' => true,
            'show_in_admin_bar' => true,
            'can_export' => true,
            'has_archive' => true,
            'exclude_from_search' => false,
            'publicly_queryable' => true,
    		'menu_position' => 6, 
    		'supports' => array( 'title', 'thumbnail')
    	);
    	register_post_type('speakers', $args);
    }
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Не работает только шаблон, сами записи открываются корректно?
    2. После создания типов пересохраняли настройки постоянных ссылок?

    Не работает только шаблон, сами записи открываются корректно?

    Только вывод в шаблон. Сами записи открываются корректно на backend`e.

    После создания типов пересохраняли настройки постоянных ссылок?

    нет

Просмотр 5 ответов — с 1 по 5 (всего 5)