Пользовательский шаблон страницы не работает
Я следовал этому руководству для создания специального шаблона страницы -- 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();, которые могут быть необходимы для корректного отображения вашей темы.