[Помогите] Кастомный шаблон по умолчанию

Тема в разделе "Wordpress", создана пользователем Iga, 9 ноя 2018.

Информация :
Все пользователи Nulled-а обязаны ознакомиться с основными правилами форума!
Правила: Правила форума
Правила раздела: ОБЩИЕ СВЕДЕНИЯ | Правила раздела | Правила оформления [​IMG]
Полезное: Раскодирование шаблонов | Шорткоды | Поиск плагинов | [​IMG] Складчины
Плюшки: functions.PHP - часть 1 | часть 2
Разделы WP: Шаблоны | CodeCanyon
Модераторы: ponoroshca
  1. Iga

    Iga

    Регистр.:
    12 янв 2014
    Сообщения:
    297
    Симпатии:
    47
    Создал для кастомного типа поста шаблон. Шаблон отвечает за вывод страницы объекта. Страниц таких будет много и многие будут импортироваться через csv/xml.
    Что-то вот ненагуглилось. Как сделать так, чтобы при добавлении нового объекта не нужно было каждый раз менять шаблон с "Базовый шаблон" на мой кастомный?
     
  2. gradar

    gradar Постоялец

    Регистр.:
    15 авг 2015
    Сообщения:
    133
    Симпатии:
    80
    Назвать шаблон
    Код:
    single-mycustomposttype.php
     
  3. Iga

    Iga

    Регистр.:
    12 янв 2014
    Сообщения:
    297
    Симпатии:
    47
    А чем это отличается от моего названия single-buildings.php? :) По умолчанию всё равно выводит "базовый шаблон".
    post type name, соответственно, у меня buildings.
     
  4. gradar

    gradar Постоялец

    Регистр.:
    15 авг 2015
    Сообщения:
    133
    Симпатии:
    80
    А что в заголовке шаблона
    Код:
    <?php
    /*
    Template Name: Buildings layout
    Template Post Type: buildings
    */
     
  5. Iga

    Iga

    Регистр.:
    12 янв 2014
    Сообщения:
    297
    Симпатии:
    47
    Так точно
    Код:
    /*
    * Template name: Object
    * Template post type: buildings
    */
    Жму добавить новый - по умолчанию стоит "базовый шаблон"
     
  6. gradar

    gradar Постоялец

    Регистр.:
    15 авг 2015
    Сообщения:
    133
    Симпатии:
    80
    Что-то вроде
    Код:
    //  This hooks into the page template and over rides the default template use this to make sure your magazine template is always default
        add_filter( 'template_include', 'default_page_template', 99 );
    
        function default_page_template( $template ) {
    // Change page to post if not a page your working on or custom post type name
            if ( is_singular( 'page' )  ) {
                // change the default-page-template.php to your template name
                $default_template = locate_template( array( 'default-page-template.php' ) );
                if ( '' != $default_template ) {
                    return $default_template ;
                }
            }
    
            return $template;
        }
    
    
    // removes the user page select meta-box for user roles that are not admins
    add_action( 'admin_menu', 'restrict_access' );
    function restrict_access() {
    // if the user is not admin - you can add any user roles or multiple roles
    if(!current_user_can('administrator')){
        // Not tested but think this is the correct code for page template meta-box
        remove_meta_box( 'pageparentdiv', 'page','normal' );
        }
    }
     
    Iga нравится это.
  7. Iga

    Iga

    Регистр.:
    12 янв 2014
    Сообщения:
    297
    Симпатии:
    47
    Не понимаю что за глюк!
    меняю
    Код:
    if ( is_singular( 'buildings' )  ) {
    и
    Код:
    $default_template = locate_template( array( 'single-buildings.php' ) );
    И один фиг при попытке добавить новый - по умолчанию стоит "базовый шаблон"