Пользовательский шаблон страницы не работает
Я следовал этому руководству для создания специального шаблона страницы -- http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
Создал страницу через панель администратора WordPress - Blog Page
с URL вида -- http://localhost/wordpress/blog-page/
и установил шаблон "Swapnesh" через панель администратора.
Создал свой специальный шаблон страницы как page-blog-page.php
со следующим кодом --
<?php
/*
Template Name: Swapnesh
*/
get_header(); ?>
<div id="primary">
<div id="contentabc" style="border:7px solid red;">
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'page' ); ?>
<?php comments_template( '', true ); ?>
<?php endwhile; // конец цикла ?>
</div><!-- #content -->
<?php get_sidebar(); ?>
</div><!-- #primary -->
<?php get_footer(); ?>
Теперь, когда я перехожу по адресу http://mysite/wordpress/blog-page/
, я не вижу границы, чтобы продолжить дальше. Подскажите, что я делаю неправильно.
примечание -- В настройках "Reading Settings
" моя страница записей была установлена как "Blog Page". Когда я отменяю этот выбор, красная граница появляется, но нет записей :(

Кажется, вы путаетесь в Иерархии шаблонов, поэтому начните с её изучения.
page-blog-page.php
предназначен для страницы с слагом "blog-page". Если вы используете шаблон страницы, назовите его вне зарезервированных пространств имён иерархии шаблонов (например, page-{slug}
и т.д.), например template-swapnesh.php
.
Кроме того, в WordPress для страницы блога уже предусмотрено место в иерархии шаблонов: home.php
. Вместо page-blog-page.php
следует использовать именно его. Как видно из схемы иерархии шаблонов, "Страница записей" никогда не ищет пользовательский шаблон страницы, а сразу обращается к home.php
и, в случае его отсутствия, переходит к index.php
.

Безопасный способ создания шаблонов страниц — скопировать существующий шаблон из папки вашей темы, переименовать файл, изменить название шаблона в комментариях и модифицировать код по необходимости. Часто такие шаблоны содержат больше кода, чем просто get_header();
и get_footer();
, которые могут быть необходимы для корректного отображения вашей темы.
