Сен
9
23

Создание разных шаблонов для постов блога (в файле single.php)

Выбор шаблонаДля системы заработка в интернете на ссылках GoGetLinks важно количество внешних линков со страницы — очень часто в заданиях требуют от 3 до 5-ти внешних штук, что для нормального среднестатистического блога не очень просто. Таким образом, возникает задача использования «дополнительного» шаблона с небольшим числом внешних ссылок.

Обновление 1.08.2018: Со временем данная задача стала более простой и универсальной — читайте обновленную статью как создать отдельный шаблон страницы в WordPress (причем он будет работать в том числе и для постов/заметок блога!).

Сам шаблон сделать не так сложно — копируем файл single.php, где в самой верхней части кода добавляем:

<?php
/*
Single Post Template: Single Other
Description: This part is optional, but helpful for describing the Post Template
*/
?>

Здесь важным элементом есть название шаблона, которое идет после слов «Single Post Template», оно должно совпадать с наименованием файла. То есть, например, в данном случае я сохранил весь оригинальный код «сингла» + эту часть в новом файле под названием single-other.php. Следует заметить, что я не уверен в этом своем утверждении на 100%, но в нескольких англоязычных блогах встречал подобные замечания. Кроме того, долгое время не мог заставить ни один плагин воспринимать этот шаблон пока не поменял название файла. В любом случае это не очень сложно сделать и лишним уж точно не будет.

Теперь для этого нового файла обработки единичной страницы записи указываем совершенно иные пути к файлам шаблона, которые не будут содержать внешние ссылки или они в них будут закрыты. Допустим, мы хотим избавиться от лишних ссылок в сайдбаре, тогда добавляем в «новый single» строку:

<?php include(TEMPLATEPATH."/sidebar-noads.php"); ?>

вместо стандартной:

<?php get_sidebar(); ?>

Понятно, что в файле sidebar-noads.php придется будет предварительно пошаманить.

Следующим шагом нужно как-то заставить ту или иную статью использовать вместо стандартного наш новый файл single-other.php. Для создания отдельных шаблонов страниц в wordpress нам достаточно просто определения названия нестандартного шаблона в начале файла. С постами в системе все гораздо сложнее. Без специального плагина разобраться будет сложно и долго — рекомендую скачать плагин Single Post Template.

Установка плагина стандартная — распаковываем архив и загружаем файлы на фтп в директорию /wp-content/plugins/, после чего в админке wordpress активируем модуль. При этом нужно также скинуть на фтп все файлы шаблонов, которые мы сделали в самом начале — их соответственно грузим в wp-content/themes/имя_шаблона/.

Если вы все сделали правильно, то при создании записи блога ищите снизу под текстовым редактором блок для выбора шаблона:

Сохраняем публикацию и проверяем работу шаблона. Относительно работы плагина Single Post Template на разных версиях вордпресс ничего сказать не могу, я тестировал на 2.8.6, на официальном сайте указана совместимость до 2.9.2. В крайнем случае можно поискать еще один плагин Custom Post Template принцип работы которого аналогичен. Единственное, что для его работы требуется php5 и несколько иной принцип указания название шаблона файла. Кроме того, этот плагин наработает с версии 2.9, поэтому у меня и не запустился. Указана совместимость до версии вордпресс 3.0.1.

Таким образом для подключения своего шаблона в файл sinlge вы:

  1. Создаете альтернативный шаблон single-other.php, где в начале файла пишете название.
  2. Производите нужные правки для сокращения числа внешних ссылок, вызова альтернативных версий файла сайдбара, футера и т.п.
  3. Ставите плагин для выбора созданного шаблона для конкретного поста.

Используя отдельные шаблоны для Single.php вы сможете не бояться строгих ограничений на количество внешних ссылок, обходя эту цифру, когда понадобится.

P.S. Постовой. Если вы поклонник красивых, дорогих и раритетных машин, то эти фото автомобилей просто обязаны увидеть, там есть все, чего душа пожелает.
Real Estate Agensy Actual Properties invites you to buy Villa Spain on Tenerife with a very good price.
Интернет магазин ЛинзМастер предлагает купить контактные линзы или цветные линзы с доставкой по Украине.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 7, средний балл: 4,29 из 7)
Загрузка...

категория Категории: Возможности; Плагины;
теги Теги: , , , .

комментария 23 к статье “Создание разных шаблонов для постов блога (в файле single.php)”

  • vVv   11.09.2010

    добрый день!
    может не в то сообщение, пищу, но хочу у вас проконсультироваться.

    Нужен новый хостинг под вордпресс, мой хостер предупредил что перестает оказывать услуги :(

    у меня 2 устоновки, одна с большой нагрузкой (1-3к посетителей [обновременно бывает 5-30 человек], 3-6к просмотров в день, большой трафик), другая — всего 50 посетителей.

    где бы можно было их разместить (особенно первый, второй так без проблем — можно по любому объявлению), чтобы не было проблем с производительностью, чтобы скорость загрузки страниц было хорошая?
    ну и цена не сильно большая, с возможностью оплаты через WM, 1-3$ в месяц (раньше было 1$ и 0.5$)

    спасибо

  • Сергей Цепелев   14.09.2010

    Не люблю плагины, для реализации этой задачи использовал следующий код в single.php:

    $post = $wp_query->post;
    if ( in_category('1') ) {
    include(TEMPLATEPATH . '/single_blog.php');
    } else {
    include(TEMPLATEPATH . '/single_prog.php');
    }

  • Александр Лаптев   17.09.2010

    Сергей Цепелев +1

  • Tod   19.09.2010

    vVv, сложно сказать, нужно поискать в интернете какой-то хостинг, можешь попробовать hostpro — держу там с десяток проектов, пока проблем не было, тьфу-тьфу-тьфу:)
    Сергей Цепелев, у меня в одном блоге тоже так реализовано, спасибо за пример, мне просто казалось, что плагин «проверит» это условие на каком-то более «быстром» уровне, чем будет производится сначала загрузка файла single, а потом других после if. Хотя, наверное, это не принципиально.

  • vg   20.09.2010

    спасибо.
    я правда уже нашел, http://hostingland.ru/ — долго лазил по вордпресовским форумам, искал. подкупило то, что его затачивали специально под вордпресс и есть демо режим на 14 дней (действительно затачивали, страница генерируется за 0.2 с вместо 1, на старом)

  • Алексей   31.01.2011

    А как изменить шаблон вывода короткой новости, какой файл за нее отвечает?

  • Tod   01.02.2011

    Алексей, что за короткая новость такая? архивы чаще всего в archives.php или все сразу в index.php.

  • Денис   19.02.2011

    Добрый день. Очень нужно сделать отдельный шаблон для одной категории. Это возможно?

  • Tod   19.02.2011

    Денис, для этого можно использовать условный оператор и код по типу:

    <?php 
    if (in_category('152')) {
    include(TEMPLATEPATH."/sidebar-category.php");
    } else {
    get_sidebar(); 
    }
    ?>

    То есть здесь для отдельной категории будет выбран другой шаблон сайдбара в отличии от того который по умолчанию. Это можно использовать при заработке в GoGetLinks чтобы избавиться от внешних ссылок.

  • Денис   19.02.2011

    Хм. С ифом я знаком, но никак не пойму, как реализовать мою задачу с помощью этого условного оператора.
    Расскажу свою задачу. Мне нужно сделать одну страницу (можно в любом новом файле, например, news.php), в которой будет вывод новостей из категории novosti, причём на этой странице можно будет опубликовать какой-то статический текст.
    Я взял файл archive.php, сделал его копию. Затем, перед я написал .
    В результате, я не реализовал то, что хотел.

  • Tod   19.02.2011

    Денис, судя по всему тут больше подходит статья про создание отдельного шаблона страниц в WordPress, то есть создается для страницы ее копия, в php коде которой добавляешь вывод последних постов из категории.
    Если хочешь добавить текст в архив, то в файле archive.php добавляешь условие если мол для категории —- in_category(‘152’) — тогда текст такой-то.

  • Алексей Дисертинский   05.07.2011

    всего-то делов добавить в functions.php

    function my_single_template($single) {
    // определяем уникальные шаблоны для отдельных записей в указанной категории
    // шаблон должен назыываться single-cat-##.php где №№ — номер категории

    global $wp_query, $post;

    foreach((array)get_the_category() as $cat) :
    if(file_exists(SINGLE_PATH . ‘/single-cat-‘ . $cat->slug . ‘.php’))
    return SINGLE_PATH . ‘/single-cat-‘ . $cat->slug . ‘.php’;
    elseif(file_exists(SINGLE_PATH . ‘/single-cat-‘ . $cat->term_id . ‘.php’))
    return SINGLE_PATH . ‘/single-cat-‘ . $cat->term_id . ‘.php’;
    endforeach;

    if(file_exists(SINGLE_PATH . ‘/single.php’))
    return SINGLE_PATH . ‘/single.php’;
    elseif(file_exists(SINGLE_PATH . ‘/default.php’))
    return SINGLE_PATH . ‘/default.php’;
    return $single;
    }

    define(SINGLE_PATH, TEMPLATEPATH);
    add_filter(‘single_template’, ‘my_single_template’);

  • Tod   06.07.2011

    Алексей, выше в комментариях был вариант еще проще, но в целом согласен плагин нужно применять, когда выбор шаблона нужно делать пользователю — типа есть 4-5 оформлений статьи и при создании заметки автор блога может выбрать какой-то из дизайнов.
    Кроме того, в новом wordpress по моему вообще для разных категорий выделили разные файлы шаблона. можно по имени категории создавать шаблоны.

  • Grabowski   23.01.2012

    Сергей Цепелев, большое вам нечеловеческое спасибо! Наконец-то неделя моих мытарств закончилась. :)

  • 4enki   12.08.2012

    а если нужно изменить шаблон только одной записи?

  • Tod   14.08.2012

    4enki, пробуйте плагин Single Post Template.

  • василий   02.11.2013

    Залез в файл single.php потом после некоторых монипуляций (после которых случилось вот это http://electrogazoswarka.ru/?p=698
    все в низ сползло,а вот статические стр на месте.
    Как можно востановить?что я нетак сделал?

  • Tod   02.11.2013

    Василий, самый простой вариант — перезаписать ваш файл исходным вариантом single.php из шаблона.

  • Артур   06.03.2018

    Долго не мог найти информацию о том, как правильно создать файл single.php для использования с Visual Composer, чтобы можно было кастомизировать всю страницу. Может не в тему, но если кому нужно, можно почитать здесь https://itnyou.xyz/kak-sdelat-fajl-single-php-dlya-visual-composer/

  • Цифровой   24.07.2018

    Что-то ничего не получилось. Возможно в статье упущен какой-то важный момент?

  • Tod   24.07.2018

    Цифровой, та вроде должно работать, там точно для постов (single) шаблон менялся? для страниц, по идее, чуть иначе было. Скоро напишу пост по этой теме, возможно, даж на этой неделе.

  • Tod   02.08.2018

    Цифровой, как и обещал, добавил апдейт в блог, но уже в новой статье — читайте как создать отдельный шаблон страницы в WordPress (будет работат в том числе и с постами).

  • Сергей   13.09.2020

    Спасибо все получилось. Толковое объяснение.

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости