johnnybizzle
  • 0
Новичок

Включить шаблоны страниц. Как?

  • 0

Основной вопрос, но я хочу включить шаблоны страниц. У меня есть одна тема, в которой включены шаблоны страниц. Я переключился на другой, но нет возможности изменить шаблон, даже при создании новой страницы. Как включить эту опцию? У меня был рут на Кодексе и форуме, но я не могу его найти.

Share
  1. Скорее всего, тема, на которую вы переключились, не имеет определенных шаблонов страниц — они существуют для каждой темы отдельно.

    Вот ссылка на Кодекс: https://wordpress.org/support/article/pages/

    • 0
  2. Определите имя шаблона в пользовательском файле шаблона.

      <?php
    /*
    Template Name: demo
    */
    ?>
    

    После этого опция выбора шаблона будет доступна на экране редактирования. Вы можете выбрать желаемое имя, которое вы хотите.

    • 0
  3. Есть еще одна причина, по которой вы можете не видеть Page Template выпадающие поля в редакторе страниц. Если вы создаете глобальный шаблон страницы (тот, который можно использовать для любой страницы, вам необходимо убедиться, что вы не называете файл своего шаблона page- префиксом, иначе WP интерпретирует его как специальный шаблон для использования в слагах страниц, соответствующих остальное имя.

    Из кодекса шаблона страницы:

    Важный! Не используйте префикс page-, так как WordPress интерпретирует файл как специальный шаблон, предназначенный для применения только к одной странице вашего сайта.

    и, наконец, убедитесь, что вы вставили следующий комментарий вверху страницы:

    /* Template Name: Name-of-your-template */

    • 0
  4. Разрешите поддержку шаблона страницы для вашей темы, добавив эту функцию в файл functions.php:

    function is_page_template( $template = '' ) {
        $page_template = get_page_template_slug( get_queried_object_id() );
    
        if ( empty( $template ) )
            return (bool) $page_template;
    
        if ( $template == $page_template )
            return true;
    
        if ( is_array( $template ) ) {
            if ( ( in_array( 'default', $template, true ) && ! $page_template )
                || in_array( $page_template, $template, true )
            ) {
                return true;
            }
        }
    
        return ( 'default' === $template && ! $page_template );
    }
    
    • 0

Оставить ответ

You must login to add an answer.