Создание шаблона WordPress: как сделать специальную (уникальную) страницу для сайта

Горячий привет всем читателям моего блога! Сегодня мы подробнейшим образом разберем, как создать шаблон для специальной страницы блога WordPress. Тем, кто хочет получить уникальную страницу на своем ресурсе, эта информация может оказаться крайне полезной, поэтому прошу внимательно и со всей серьезностью отнестись к изучению этого материала.

В каких же случаях нужна особая web-страница на сайте, которая отличалась бы своим дизайном от стандартных страниц WordPress? Давайте порассуждаем. Скажем, вы каким-то особенным образом хотите оформить вебстраницу с формой обратной связи, где предоставляете свои контактные данные для читателей. Либо желаете создать участок ресурса, где страницы имели бы стиль оформления, отличный от других. В этом случае можно воспользоваться алгоритмом, который я собираюсь описать в сегодняшнем мануале.

Создание специального шаблона для страницы блога WordPress

Мне, к примеру, пришлось создать такую страницу на блоге, когда я внедрял пользовательский поиск по сайту Google применительно к моей теме для Вордпресс с тем, чтобы результаты поиска корректно отображались и были бы удобны читателям. Вот на примере моей страницы поиска мы и рассмотрим задачу создания шаблона для уникальной вебстраницы WordPress.

Создание шаблона (файла с расширением php) для уникальной страницы WordPress

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

Прежде чем начать, ознакомьтесь с соответствующей статьей, в которой я писал об иерархии шаблонов и о взаимодействии WordPress с файлами текущей темы. Если говорить о порядке обращения Вордпресс, то механизм CMS (Content Menegment System) поначалу осуществляет поиск уникальной (специальной) страницы и только в случае ее отсутствия обращается к файлу page.php, который определяет формирование стандартной для данной темы статической web-страницы.

Но за основу шаблона для новой страницы не обязательно брать файл page.php, можно создать ее на основе главной (index.php), шаблона страницы записей (single.php), шаблона архивов (archive.php) и т.д., тут вступает в силу ваше творческое начало.

Переходим к практическому выполнению поставленной задачи. Для начала сделаем шаблон для будущей вебстраницы. Как я уже сказал, буду описывать создание шаблона для пользовательского поиска Google. Я решил взять за основу шаблон page.php, поскольку он более всего подходил для моих целей, а именно: для поиска нужна была статическая web-страница, на которую не выводились бы WordPress комментарии.

Итак, открываем программу notepad plus plus, которая является идеальным средством для создания и редактирования текстовых файлов. Устанавливаем ftp соединение с сервером хостинга и в директории текущей темы создаем пустой файл с расширением php. Название можете дать любое (желательно, конечно, чтобы оно сочеталось с выбранной темой будущей вебстраницы). В моем случае вновь созданный шаблон назван poisk.php.

Создание файла с расширением php на сервере хостера в директории текущей темы

Для этого необходимо кликнуть по папке с названием текущей темы и из появившегося контекстного меню выбрать «Create new file», как показано на выше расположенном скриншоте. Далее появится диалоговое окно и в нем прописываете имя файла для создаваемого шаблона (не забудьте указать расширение php).

Внесение имени для создаваемого файла в директории текущей темы

Нажимаете «ОК» и дело в шляпе. В результате этих действий в списке файлов вашей темы будет присутствовать только что созданный шаблон (poisk.php).

Созданный файл нового шаблона для специальной страницы блога WordPress

Однако этот файл пока пустой. Для его заполнения необходимо загрузить его на компьютер. Чтобы осуществить это, нужно кликнуть по нему левой кнопкой мышки, затем нажать зеленую стрелку, направленную вниз. Файл отразиться в левой части окна редактора notepad++.

Загрузка созданного на сервере хостера файла

HTML и PHP редактор notepad++ имеет множество полезных функций, в том числе способы отображать сразу несколько файлов в виде вкладок подобно тому, как мы открываем несколько вебстраниц в браузере. Поэтому тут же можно загрузить файл одного из шаблонов темы, который мы будем копировать (в данном случае page.php). Также выделяем его, кликнув левой кнопкой мыши и нажав на ставшую после этого активной зеленую стрелку.

В результате два файла шаблонов page.php и poisk.php окажутся на соседних вкладках в левой части окна. Теперь в файле шаблона вновь формируемой web-страницы (poisk.php) в самом верху прописываем такую строчку:

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

Эта строка является кодом вызова шаблона для соответствующей специальной страницы WordPress. Вместо «Template Name: Poisk» вы можете подставить свое название.

Редактирование шаблона, созданного на основе одного из стандартных файлов текущей темы WordPress

Теперь открываем в том же notepad plus plus файл шаблона page.php (или любой другой, на основе которого вы хотите создать специальную страницу), копируем его содержание и вставляем во вновь созданный файл (poisk.php). У меня он приобрел следующий вид после всех выше описанных телодвижений:

<?php
/*
Template Name: Poisk
*/
?>
<?php get_header(); ?>
<?php get_sidebar(); ?>
<div id="main-block">
    <div id="content">
        <?php if (have_posts()) : ?>
          <?php while (have_posts()) : the_post(); ?>
            <div class="post page" id="post-<?php the_ID(); ?>">
                <div class="title">
                    <h2><a href="<?php the_permalink() ?>" rel="bookmark"
 title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
                </div>
                <div class="entry">
                    <?php the_content('Continue reading &raquo;'); ?>
                </div>
                <div class="link-pages">
                    <?php wp_link_pages() ?>
		</div>
            </div>
                <?php endwhile; ?>
            <p><?php next_posts_link('&laquo; Previous Entries') ?> 
<?php previous_posts_link('Next Entries &raquo;') ?></p>
        <?php else : ?>
            <h2 class="t-center">Not Found</h2>
            <p class="t-center">Sorry, but you are looking for something that
 isn't here.</p>
        <?php endif; ?>
    </div>
    <?php get_footer(); ?>

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

<?php get_sidebar(); ?>

Но у вас, возможно, возникнет необходимость удаления, скажем, футера (подвала) или шапки сайта на специально созданной странице. В этом случае надо ликвидировать соответствующие функции вызова в коде php вновь созданного шаблона:

<?php get_header(); ?>

функция вызова шапки

<?php get_footer(); ?>

функция вызова подвала

Идем дальше. Если в скопированном коде есть лишние элементы, заключенные в какие-либо теги и вы не хотите, чтобы эти элементы отображались на специальной вебстранице, то их тоже следует удалить из php-кода. Кстати, если вы не знакомы с премудростями языка php, ничего страшного в этом нет. Основные функции, касающиеся применения php в файлах темы WordPress, сосредоточены на соответствующей странице codex. Неудобство состоит в том, что еще не все материалы корректно переведены на русский язык, но, думаю, для тех, кто по-настоящему хочет разобраться, это не помеха. Эта информация очень поможет в дальнейшем, уверяю вас.

Но вернемся к теме публикации. Напомню, что при редактировании файла poisk.php мной была удалена функция вызова сайдбара, в дальнейшем я изменю еще некоторые участки кода, но сначала создадим страницу в админ панели WordPress, чтобы получить ссылку на нее.

Создание уникальной страницы в админ панели WordPress (на примере страницы пользовательского поиска Google)

Полностью шаблон для уникальной страницы пока не готов, мы только скопировали содержание page.php в пустой файл poisk.php и удалили функцию вызова сайдбара, который совершенно лишний на странице поиска. В качестве следующего шага создадим обычным образом статическую страницу, наполним ее контентом (содержанием) и свяжем с шаблоном, чтобы данная вебстраница правильно отображалась в браузере.

Для этого заходим в админку для управления сайтом WordPress в раздел «Страницы»→«Добавить новую». В поле заголовка можно вписать название будущей страницы, которое впоследствии будет появляться на ней и вписать нужные слова в изменяемую часть постоянной ссылки:

Создание статической страницы в админ панели WordPress

Кроме того, необходимо вставить нужный контент в поле редактора. Как видите на скриншоте, я вставил полученный от Google код, который поможет инициировать пользовательский поиск. Но это в контексте данного поста не важно, как получить этот код и подробное описание я предоставлю в следующих публикациях, которые не за горами. Важно знать, что можно вставить любое содержание, в том числе изображения, которое будет отображаться в браузере.

Еще раз напомню, что целью этой публикации является наглядная демонстрация по применению алгоритма формирования любой уникальной вебстраницы, страница пользовательского поиска Google служит просто примером. После выше описанных действий видим, что в правой части раздела создания статической страницы админ панели WordPress расположено выпадающее меню. Раскрыв его, находим название шаблона, который был сделан специально для этой web-страницы (в моем случае это poisk):

Выбор шаблона для специальной страницы в админ панели WordPress

Выбираем нужное название шаблона, в результате при переходе по ссылке свежеиспеченной страницы (нажмите ссылку «Просмотреть страницу») мы получаем ее внешний вид, который определен соответствующим шаблоном. В случае примера со страницей поиска Google на моем блоге она будет иметь такой вид:

Вид создаваемой специальной страницы в браузере

Как видите, это не совсем то, что нужно. Убрав сайдбар, я не достиг конечной цели, которая состояла в том, чтобы получить все пространство под шапкой сайта для отображения результатов поиска. Посмотрим, что можно сделать для решения этой задачи. Обычно я работаю с сайтом в Chrome (скачать бесплатно последнюю версию, установить и настроить Гугл Хром), поэтому воспользуюсь замечательным встроенным инструментом для редактирования HTML и CSS кода, который является аналогом инструмента Firebug (как установить, скачать и пользоваться этим расширением) для Мазила Фаерфокс (об этом браузере есть мануал).

Для вызова этого инструмента можно просто нажать F12, в результате чего внизу откроется окно, где слева расположен html код, а справа CSS стили.

Ширина элемента (контейнера), определяемого свойством CSS width

Как видите, ширина полезной площади определяется контейнером div с идентификатором id=“main-block”. Ясно, что нужно увеличить значение свойства width, указав его равным ширине шапки сайта. Но для идентификатор «main-block» определяет ширину элемента всех страниц блога, поэтому простое механическое увеличение значения width ничего не даст, поскольку вызовет искажение других web-страниц в браузере.

Поэтому мы пойдем другим путем и создадим контейнер div с другим идентификатором только для данной специальной страницы поиска, назвав его, скажем «block-searh». Пропишем следующий набор свойств в файле style.css. Кстати, для пробы это можно сделать прямо онлайн в левой стороне окна редактирования, предварительно кликнув по ссылке на style.css в правой части.

Редактирование свойств CSS в окне встроенного инструмента браузера Google Chrome

Я добавил следующий набор свойств для идентификатора «block-searh», как видно из скриншота:

#block-search {
  width: 100%;
}

Значение 100% означает, что полезная площадь для страницы поиска будет располагаться по всей ширине. В этом немедленно можно убедиться после внесенных изменений.

Вид элемента специальной вебстраницы после внесения набора свойств CSS в окне редактирования

Теперь с легким сердцем можно вносить реальные изменения, открыв style.css в том же notepad++. Но у нас осталось еще одно незавершенное дело. В файле page.php фигурирует div контейнер с id=“main-block”, а так как мы скопировали его содержание в poisk.php, то значит, WordPress будет учитывать этот идентификатор. Поэтому в файле poisk.php меняем идентификатор «main-block» на «block-search». Ниже на скриншоте представлю все окончательные изменения, произведенные мной в файле poisk.php.

Редактирование файла шаблона уникальной страницы блога WordPress

Теперь полностью адаптированный файл шаблона poisk.php после всех необходимых изменений выглядит следующим образом:

<?php
/*
Template Name: Poisk
*/
?>
<?php get_header(); ?>
<div id="block-search">
    <div id="content">
        <?php if (have_posts()) : ?>
	    <?php while (have_posts()) : the_post(); ?>
            <div class="post page" id="post-<?php the_ID(); ?>">
               <?php the_content('Continue reading &raquo;'); ?>
                 <?php wp_link_pages() ?>    
	    </div>
               <?php endwhile; ?>
            <p><?php next_posts_link('&laquo; Previous Entries') ?> 
<?php previous_posts_link('Next Entries &raquo;') ?></p>
        <?php else : ?>
            <h2 class="t-center">Not Found</h2>
            <p class="t-center">Sorry, but you are looking for something that 
isn't here.</p>
        <?php endif; ?>
    </div>
    <?php get_footer(); ?>

В принципе, этот вариант для страницы пользовательского поиска Google является универсальным и c небольшими изменениями может быть использован на любом блоге WordPress. Только, естественно, нужно применить свои идентификаторы для контейнеров div. Ну вот, пожалуй, на сегодня и все. Не побрезгуйте в конце поста нажать на какую-нибудь из социальных кнопок.

Поделиться с друзьями
Игорь Горнов

Создатель и администратор сайта Goldbusinessnet.com. Участник нескольких успешных проектов и автор более 1000 статей о работе в интернете, создании сайтов, полезных программах и сервисах.

Работа в интернете
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. illarioshaWon

    Добрый день!

    Подскажите, как можно закачать авку? Не грузится, хоть убей. Закачивал в разных форматах — не отображается, и все, белый
    экран.

    Извините если запостил не в тот раздел — направьте где можно почитат.

    Заранее спасибо!

    Ответить
  2. Алексей

    Здравствуйте!
    Статья познавательная
    в особенности для молодых блогов на WordPress
    в шаблонах данного движка действительно много внешних ссылок
    как в русских версиях, так и в иностранных
    это дело кропотливое и требует от автора внимательности….
    Спасибо за статью
    Если у вас есть возможность
    То прошу вас оставить комментарий на моем блоге ……

    Ответить
    1. Игорь Горнов автор

      Хорошо, Алексей, это не сложно.

      Ответить
  3. Ольга

    Здравствуйте!

    подскажите пож-та, возможно ли реализовать в блоге вордпресс отдельную страницу с записями? Поясню. Сейчас все новые посты отображаются на главной странице. Но эти посты строго по узкой тематике. Кроме этой тематики хотелось бы писать отвлеченные посты в рубрике «разное», которые бы отображались не в общем потоке статей на главной странице, а отдельно. Делается это для того, что б не отнимать внимание посетителя. А кому надо, зайдут в «разное». Вот можно ли в принципе в ВП сделать вывод постов рубрики «разное» отдельно от основных постов?
    заранее, спасибо!

    Ответить
    1. Игорь Горнов автор

      Конечно, можно, Ольга. Вставьте в файл FUNCTION.PHP (можно в самый конец) вот такой фрагмент кода:

      function exclude_cat($query) {
       if ($query->is_home) 
             {$query->set('cat','-44');} // id категории
      return $query; }
      add_filter('pre_get_posts','exclude_cat');

      Вместо числа 44 вставьте ID той категории, статьи которой хотите исключить из ленты анонсов на главной странице. Возможно, что Вы не знаете, как определить ID категории, поэтому подскажу на всякий случай. Это очень просто. В админке WordPress заходите в раздел «Рубрики», подводите курсор прямо к названию нужной рубрики, после чего внизу слева отобразиться ее URL, в составе которого будет присутствовать ID (например, ID=44), это и будет нужное Вам число. Вставляете его вместо 44, которое присутствует в моем примере.

      После выше описанных действий все анонсы статей данной рубрики будут удалены с главной страницы, но будут присутствовать в самой рубрике, если в нее перейти. Надеюсь, объяснил доходчиво и понятно.

      Ответить
      1. Велимудр

        Привет Игорь.
        Думаю тебе пора продолжить тему «создание шаблонов» назвав «создание шаблонов 2 — глубокое изучение».
        Не просто с метками для страницы, а подключение страницы через ЯДРО системы, то есть система будет видеть страницу как родную, с любым названием и отвечающую за то, что нужно разработчику. Пример урока я тебе скину в Контакте, не забудь зайти в сообщения.
        Здесь у тебя сотни комментариев, и это не есть хорошо, вопросы, заданные посетителями касаются программирования более высокого уровня чем тот, для которого статья, ты сам это понимаешь. Тебе нужно создать продолжение темы и перенести часть комментариев туда (относительно вопросов). Так к примеру выше написанный вопрос относится к более высокому уровню.
        Можно разными способами делать вывод, можно по хитрому обойти рамки и создавать ложные файлы, но которые Ядро будет видеть и принимать за свои, как конечные файлы, так и промежуточные типа анонсов.
        Отвечу на вопрос вторым способом:
        Условие проверки текущей страницы можно поставить везде, в любом шаблоне, не давно разрабатываемый сайт новостей делил на «статьи» и «новости», при чём специфика такова, нужно было распознавать родительскую категорию, делать вывод или не делать карты местности организаций, при этом определять категории ли это, и если да то «организации» ли это, и если да — вывод такой-то, если нет… и так далее (пример из своих задач).
        Простым условием можно в одном шаблоне сделать вывод совершенно разного стиля, данных, параметров, ограничений абсолютно нет.

        if(is_category()){ 
        <!--здесь выводите что угодно-->
        <?php }
        

        На любой элемент стиля, любую команду можно такой проверкой осуществлять вывод. Это огромный плюс, если стоит важность в разном стиле отображения контента. И кстати, не нужно использовать плагины, которые однозначно тормозят систему. Конечно вместо

        is_category

        можно использовать другие функции, их около 10-ти, начните вводить в поиск Яндекс — worpdress is_ — и в подсказках увидите все, которые есть.

        Ответить
        1. Игорь Горнов автор

          Спасибо, Тимур, за комментарий. Как всегда, подробно, информативно и, главное, к месту.

          Ответить
    2. Игорь Горнов автор

      Ольга, обязательно обратите внимание на сообщение Тимура, пишущего под ником Велимудр. Оно в равной степени адресовано как мне, так и Вам, а также равно и другим читателям. Это просто кладезь премудрости, которым грех не воспользоваться. Если я даю советы на уровне вебмастера, пусть и обладающего немаленьким опытом, то Тимур расширяет эти рекомендации до уровня гуру. 🙂

      Ответить
  4. Велимудр

    Приветствую, Игорёк ))
    Как твоё здоровье? давно не был у тебя в блоге )
    Я сейчас уже не в Донецке, нервы не выдерживают слышать взрывы…
    Сейчас в Ульяновске, тут устроился к ребятам в компанию, программист-верстальщик ))
    И так, иногда беру заказы на фрилансе.
    Собственно и зашёл почитать полезное, у меня проект один, подруга заказала новостной сайт-блог, Краснодарского ВОИ (всероссийское общество инвалидов), сайтик лёгкий, как раз под ВП подойдёт ))

    Ответить
    1. Игорь Горнов автор

      Привет, Тимур, искренне рад с тобой пообщаться. Да, сочувствую тебе и всем жителям Украины, такое государство загубили, одно из крупнейших в Европе! И народ страдает от бешеных амбиций горстки негодяев. Надеюсь, родные не пострадали?

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

      Дизайн сделан очень профессионально, сразу же хочется вступить в контакт. 🙂 Очень хорошо, что ты упомянул о фрилансе, теперь знаю еще одного заслуживающего доверия человека, у которого можно заказать услуги. Удачи тебе!

      Ответить
      1. Велимудр

        Ссылку на страницу во фрилансе отправлю почтой, здесь оставлять не честно будет.
        Да, родные в порядке, благодарю тебе большое.
        Вот когда американское правительство захлебнётся своей жадностью и жаждой тотального контроля, только тогда будет спокойно на Мидгард-Земле.
        Да, в компании ребята молодцы, очень талантливые дизайнеры, идей у них много (похоже я там самый старый 😀 ), договаривались по проектно работать, и пока так останется.
        В целом да… чуть-чуть тебя поправлю, не «лендинговые», а «посадочные» страницы )), на русском надо говорить, на русском )))
        Если вдруг надумаешь функции русские делать, зови ))

        Ответить
        1. Игорь Горнов автор

          Тимур, ты, как всегда прав. Язык, на котором общаешься, должен быть максимально «чистым», тут я с тобой согласен. Однако, некоторые общеизвестные термины из иностранных языков можно, по-моему, использовать, особенно специализированные или те, которые связаны с определенным видом деятельности.

          Естественно, применять их нужно к месту и не злоупотреблять. Но это мой, субъективный, взгляд, не претендующий на истину в последней инстанции. Спасибо за предложение, обязательно буду иметь ввиду направление твоей деятельности. Надеюсь, мы друг друга не потеряем на просторах рунета. 🙂

          Ответить
  5. Вадим

    Шаблон cloudy не подходит под правку других шабов прверенно.

    Ответить
    1. Игорь Горнов автор

      Тут Вы, Вадим, не правы. Достаточно почитать комментарии на блоге и благодарности от пользователей, которые приходят мне на почту. Естественно, в большинстве случаев необходимы корректировки, но читатели грамотные, даже начинающие, поэтому проблем не возникает.

      Ответить
  6. василий

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

    Ответить
    1. Игорь Горнов автор

      Василий, в принципе можно и с редактированием стилей CSS тут все просто, но Вам придется каким-то образом создать шаблон темы, который бы применялся только для отдельных страниц определенной категории, в данном случае для категории Forum, ведь на форуме не одна страница. А Вы, если я правильно понял, хотите, чтобы все страницы на форуме имели бы одинаковый дизайн.

      Ответить
    2. Андрей

      я вижу решение таким: создаете шаблон типа myforum.php и убираете все колонки оставляя только контекст. В header.php подключаете свои стили для форума.

      Ответить
  7. Велимудр

    Интересный факт выходит, лентяи не хотят изучать другие цмс, поэтому ищут решения для той, которую освоили, разрабочики «дополняют» водпресс расширениями возможностей, функциями, выпуская плагины, таким образом «создают» ещё больше лентяев, те видят дополнение, и решают не изучать другие цмс «А ЧООО, ЗАЧЕМ МНЕ ДРУГИЕ ЕСИ У ЭТОЙ ЕСТЬ ПЛАГИНОВ КУЧА«. Создаётся цикл: — «лентяи ищут решения, разработчики их предоставляют в виде плагинов, создавая ещё больше лентяев, которые ищут решения, которые им предоставляют разработчики в виде плагинов, создавая ещё больше лентяев, которые……………» — Надеюсь теперь ВЫ, уважаемые читатели этого замечательного блога понимаете, откуда «образовались» плагины.

    Ответить
    1. Оксана

      лентяи не хотят изучать другие цмс

      Вы упускаете из виду то, что сейчас туча сайтов открывается людьми, понятия не имеющих ни в кодах, ни в цмс тем более. Просто берут готовую типа ворд пресс или джумлы.

      Ответить
      1. Велимудр

        Оксана, добрый день. Я это не упускаю, я пишу о веб мастерах, а не о пользователях панелями управления.

        Ответить
  8. Велимудр

    Почему на нём так много модулей?
    Ответ очевиден — он очень прост в использовании: одна страница главной, одна страница под статичные страницы типа «о нас», «контакты» и так далее, одна страница под полный вывод новости — ВСЁ. Вставка команд, список которых можно найти как на официальном, так и в русской поддержке, всё довольно просто. По этой причине многие и выбирают эту цмс.
    Конечно, если финансы позволяют, тратьте до 20-ти тысяч рублей за вёрстку и кодирование интернет магазина со сложными требованиями, тогда, быть может, когда сделаете анализ вёрстки, изучите, поймёте как можно сделать из вордпресс полноценную цмс, бесплатно такую информацию никто никогда вам не даст, будьте уверены.
    Да, есть тут некое противоречие, но это только так кажется, ибо:
    WordPress = блог — правильно!
    WordPress = Информационный портал — НЕ правильно!

    Ответить
  9. Велимудр

    Прошу прощения за оЧеПятки, быстро писал — не увидел.

    Ответить
  10. Велимудр

    Добрый вечер Игорь. В итоге, понимание идиотизма создания отдельного раздела под интернет магазин, но вывод популярных товаров вместе с категориями на главной, заставило меня бросить эту затею. Работа утверждена не была на проекте «фриланс», исполнитель не выбран был, значит и договора нет. Такие требования возможны только на мощных движках, вордовский таким сделать, нужно МНОГО плагинов подключить, что очень сильно тормозит работу, с теми которые уже были установлены, страницы обновлялись 2-6 секунд, у меня скорость 60 мБит/секунда,у тех, кого коммерческие компы, в офисах к примеру, там обычно до трёх мега бит, не больше, вряд ли заходят с таким сайтом работать, который разворачивается по пол часа, пока вся информация будет видна. Этот маразм, этот дебилизм никому будет не нужен.
    Вывод: — WordPress как полноценная площадка для интернет магазина НЕ годится, как бы ни старались разработчики, им нужно кардинально изменить ядро, переписать весь код, иначе это блог, который сейчас просто имеет дополнения, являясь при этом всё тем же блогом, НЕ больше.
    Сделать бы можно было — да, вопрос — нужен ли этот «геморрой»? — НЕТ.
    То, что на нём можно сделать, интернет-магазином назвать невозможно, это просто стол заказов с возможностью «закинуть» товар в корзину, в сущности, это просто корзина.
    То что требовалось сделать, делается как минимум на движке Joomla.
    Сайт, по примеру которого нужно было сделать заказчику, стоит в системе UCOZ, в этом галимом платно-бесплатном конструкторе сайтов, где за 300 рублей в месяц можно приобрести модуль магазина, в процессе, я смотрел принцип работы его, даже нашёл две инструкции бесплатно, хотя в книжных сервисах их продают, ВСЁ там довольно понятно — относительно просто, но нет инструкций по самим меткам шаблоном юкоз. Будь у меня справочник, я бы дано на юкоз поставил, но такого справочника нет.
    Совет тем, кто решил делать интернет-магазин на WordPress
    Вначале прочитайте мои проблемы, тут я описывал ВСЕ те проблемы, которые не давали работать, даже если у мес магазин не требуется делать в отдельном каталоге, а категории на главной при чём в центре в виде миниатюр, а не в сайдбаре, как это по нормальному должно быть для вордпресс, отделять вывод статей от товаров, большая часть из описанного вас настигнет однозначно. Вордпресс, это ТОЛЬКО блог, НИЧЕГО больше.
    Я разочарован только в том, как многие НЕ верно понимают фразу «wordpress из обычного блога давно превратился в полноценную цмс», и большинство блогеров эту фразу гордо толкуют у себя в статьях, не понимая смысл. Всё это лажа и фальшь, имеется в виду, эта цмс, за время существования приобрела массу дополнений, расширений, модулей, возможность писать ХУКИ (собственные скрипты, перехватчики), но это всё тот же блог, и не надо надеяться на «ЧУДО», его НЕ будет, к тому же, если правильно искать, можно на ПРАВИЛЬНЫХ ресурсах найти предостережения типа: «WordPress это блог, имеющий множество расширений, но помните, чем больше расширений будет, тем дольше страницы сайта будут обрабатываться, для полноценных сайтов нужно использовать соответствующие CMS»

    Ответить
    1. Игорь Горнов автор

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

      Ответить
    2. Андрей

      А что мешает написать свой плагин к своей отдельной странице с использованием shoercode? По крайней мере я написал плаг для вывода топ товаров с прокруткой.. Да и магазин можно написать таким же принципом.. Вот на счет скорости ничего сказать не могу, так как не замерял производительность…

      Ответить
      1. Игорь Горнов автор

        Ничего не мешает.

        Ответить
  11. Велимудр

    А я вот опять с не особо хорошими новостями, своими… не знаю как вывести под-категорию НЕ текущей категории, но заданной, и без её отображения в списке. Мне на главной нужно вывести в виде обзора последних добавленных товаров, а добавление у этого плагина проходит в самих темах, другими словами хоть ты новость добавляешь, хоть товар с ценой, описанием… хоть это хвалят многие, типа — вот хорошо сделали, добавление товаров в теме — да только бред это. Легко можно ошибку сделать даже через половину года работы, и товар полетит в новости, вот юмора будет, дебилизм короче. Так вот,категория магазин, под-категории уже самих товаров, как их можно выводить?
    Быть может виджет в центр вывести?

    Ответить
    1. Игорь Горнов автор

      Тимур, ну и задачи ты ставишь. В вопросе нюансов редактирования шаблонов под магазин скорее ты мне дашь сто очков вперед. К сожалению, пока у меня нет серьезного опыта в этом вопросе…

      Ответить
      1. Велимудр

        Доброй ночи Игорь.
        Только в том что написал — весь смысл, только в том, что написал. Я не знаю как оформлять, ни главной, ни вложенных, не знаю, нет представления будущего сайта, в этом вопросе мне советник нужен, я знаю какой материал будет, знаю какие темы и всё остальное, но визуальное оформление мне не даётся.

        Ответить
      2. Велимудр

        Я вордпресс знаю половину месяца всего.
        От русского плагина решил отказаться, надоел он мне, не правильно разрабы его изобразили, не верно. Решил пробовать вп е-Коммерцию, там хоть и теги есть, и категории с товарами отдельно создаются.

        Ответить
  12. Велимудр

    Доброй ночи Игорь. Проверяй иногда свои контакты).
    Так ты мастер )) свинья ведь апельсины любит =)

    Ответить
  13. Велимудр

    У меня выбора другого нет. Joomla я почти не знаю, да и менять cms поздно, основное сделал, а мелочи как всегда доставляют неудобства.

    Ответить
    1. Игорь Горнов автор

      Велимудр, да не стоит распыляться. Идеала в жизни не бывает, у той же Joomla куча недостатков, правда в создании сайтов со статическими страницами эта CMS вроде поудобнее, хотя в Джумла я разбираюсь как свинья в апельсинах, по крайней мере, на данный момент.

      Ответить
  14. Велимудр

    Хах, я теперь могу уверенно сказать — я ЗНАЮ вордпресс (чтоб ему пусто было) =)

    Ответить
    1. Игорь Горнов автор

      Велимудр, а ведь ты перфекционист, как, впрочем, и я сам, и моя помощь тебе точно не нужна, однако ты делишься своими наработками и знаниями, далеко пойдешь. Респект! 🙂

      Ответить
      1. Велимудр

        В контакте заявку кинул. Если можешь помочь решить задачу с тем, как выводить полный текст в другой файл, отличный от single.php, буду рад. А пока я изучаю возможность написания в одном файле условие, в котором те или иные блоки отображаться будут в зависимости от самого условия. Как писал выше это возможно с помощью функций is_single и is_singular.
        Вот источник по этим функциям:
        http://wordpresse.ru/articles/wordpress/raznica-mezhdu-is_singular-i-is_single/

        Ответить
        1. Игорь Горнов автор

          Велимудр, с радостью бы, но сейчас полный завал. Но ты не исчезай, с тобой очень интересно общаться. Думаю, для читателей ты настоящий клад. Вот здесь по-настоящему жаль, что ты не оставил ссылку на свой ресурс. Спамеры бомбят, а действительно стоящий коллега даже линк не оставляет…Вот ведь жизнь.

          Ответить
          1. Велимудр

            Добрый вечер друг 🙂
            Можешь не верить, но у меня действительно нет своего «ресурса», то есть сайта.
            Давно хотел, и пытался писать свою структуру управления, но как не выходило на счёт материала, идея есть, есть пару дизайнов, но сам материал — раз, оформление — два. За три года я не придумал как оформить материал для сайта, что уж говорить о конечной работе. Так что нет, думаю такой появится не скоро, если вообще появится.
            Я скорее для кого-то сделаю, чем для себя.

          2. Игорь Горнов автор

            Жаль, Тимур, с твоей то неуемной энергией и не создать ресурс! 🙂 Хотя с другой стороны я тебя понимаю, стремление к совершенству, а идеала в мире нет, увы и ах, в том числе идеальной CMS, которая бы удовлетворила. Получается, ты еще больший перфекционист, чем я. Делаю этот вывод на том основании, что я все-таки создал ресурс на WordPress, хотя и приходится все время ковыряться в шаблонах темы.

          3. Велимудр

            Сейчас, то что я делаю магазин, это обещание, и за это оплаты нет. И сделать я обязан, но помощи нет никакой, один знакомый старался помочь, но первое — вордпресс не хочет видеть активированный им же плагин, фреймворк Гэнтри, второе — вывод под-категорий у ворда СЛИШКОМ ограничен, и это меня начинает сильно допекать. На крайней стадии я специально изучу ненавистный мне инглиСШЪ, зайду на официальный форум ворда, вежливо объясню им что я о их работе думаю — «если замахнулись на такие широкие возможности, то хотя бы примитивность в не возможности создания других страниц уберите, и тупую привязку под=категорий к категориям, а то интернет магазин — да пожалуйста, а управлять даже мастер пальцы поломает, пока добавит одну новость и один товар».

          4. Велимудр

            Но с другой стороны…. сколько «ходил» по сайтам, связанным с вордом, естественно они на ворде стоят (у меня плагин в мозилле, распознающий полную информацию о сайте в плодить до всех джавовских примочек, фреймворков и операционных систем, на которых сервер, плюс домен где зарегистрирован, откуда сайт и кто хостер), и моему взору предстают чуть ли ни целые порталы информационно-развлекательные, у которых десятки категорий дочерних, у которых некоторые ДОЧЕРНИЕ категории ВЫВОДЯТСЯ на главной….
            Если эти КРЫСЫ, называющие себя веб-мастерами, сохраняют свою солидарность молчания, я ВЫНУЖДЕН буду их солидарность в пух и прах стереть…
            Я думаю теперь у меня появится ресурс, где не только я, но и желающие будут делиться опытом, да решением именно РЕДКИХ вопросов, касательно любых ЦМС, там где информацию будут продавать, у нас она будет в открытом доступе.

          5. Игорь Горнов автор

            Тимур, я в шоке. Столько экспрессии и праведного гнева. Хотя идея с ресурсом мне близка, думаю, если ты возьмешься, у тебя получится.

  15. Велимудр

    Ну почему всегда именно так, когда я, прихожу на форум а ответом, перед этим днями буду сидеть, пока глаза не покраснеют и дым ни пойдёт, поскольку на форум я обращаюсь исключительно в крайней необходимости, реже одного раза в месяц, как опишу свою проблему, после этого я нахожу это решение! до такой степени простое, аж смешно становится, только его заметить очень и очень трудно. Оказывается (об этом ни в каких справочных функциях нет, по крайней мере я не нашёл), есть в функции:
    get_posts();
    параметры — ‘numberposts=7&category=5’
    Если выделять только категорию, можно писать функцией:
    query_posts();
    Так вот, последний параметр, это категория, в справочнике описана только как количество категорий, то есть — вывести столько-то статей из столько-то последних категорий,но мне нужна одна и та, которую указываю, то есть нужно по идее поставить имя ярлыка, так как по умолчанию присвоение поставил не идентификатор страницы, а имя, то есть название. Вписал название… и вот тут, после того уже как написал здесь, пошёл снова терроризировать wordpress, решил посмотреть, правильно ли я названия ввёл, и быть может что то с параметром не так….
    Наведя на ссылку рубрики, увидел вот что:
    ******************/edit.php?category_name=
    оказывается, этот параметр может быть и другим, в моём случае нужно было просто написать:
    query_posts(‘category_name=car_tun’);
    Вывод: если меняете метод отображения постоянных ссылок, как в моём случае это «название записи», в определении параметра вывода категорий нужно писать именно — category_name=name — а не просто category=5.
    Если же по умолчанию стоит метод, то есть идентификатор страницы, соответственно — category_id=*
    послесловие
    У меня есть полный справочник меток-функций, и там не нашёл я такие варианты, быть может на сайте официальном есть — не проверял, там их шибко много по выходу последней версии стало, но на русскоязычных ни на одном нет.
    Уважаемый Игорь, прошу прощения за отнятое время, на блог твой подпишусь, удачи 😉

    Ответить
    1. Игорь Горнов автор

      Ну, Велимудр, ты меня поразил в самом положительном смысле! (давай уж на ты, раз на то пошло). Нет, положительно с читателями моему блогу повезло. Да какое беспокойство! Ты тут целый трактат выдал! Ведь эта информация, на поиски которой ты угробил массу времени, может пригодится в любое время абсолютно любому, в том числе мне. Спасибо огромное от меня и от всех читателей! А с объяснениями функций на русском языке действительно все не так просто, приходится шерстить на английском.

      Ответить
      1. Велимудр

        Доброе утро Игорь.
        Самое смешное, я ведь php знаю на среднем уровне, и то, не факт. Первые мои попытки написать сайт были с полным отказом от любых cms, не имея достаточных знаний написал админскую панель (чтоб её…. неделю «в слепую» тыкал), уже на половине, немного глянул Поповича курс… всё до смеха простым оказалось.
        У меня такой вопрос, с магазином начал по тихому ладить, да вот беда, для вывода полного текста существует лишь один шаблон, и ссылка permalink ведёт только на него (single.php), для вывода полного описания товара этот шаблон не подойдёт, так как стиль в нём под новости шит. Есть ли альтернатива? второй шаблон, в котором будет выводиться полное описание товара, точнее, нужно что бы функция, как и permalink отправляла в другой файл-шаблон…
        и тут я вспомнил о создании хуков, хотя это не совсем то, но так же можно самому внедрить, точнее дополнить ядро вордпресса функцией, ссылающейся на другой файл, аналогичной пермалинк.
        Но ведь не всем это по знаниям. Либо тем, кто умеет, либо «упёртым человекАм(многим)» вроде меня.
        Поэтому легче в десяток раз будет, если есть такая альтернатива.
        Страница page.php не пойдёт, там вывод страниц.

        Ответить
      2. Велимудр

        )) Тему создай такую )
        Сейчас ищу что то, что помогло бы мне решить вопрос, как создать страницу описания товара в отдельном файле, а не в single.php, вот увидел кое что о привязке к отдельным страницам с помощью функции is_single и is_singular.

        Ответить
  16. Велимудр

    Доброй нови Игорь.
    Теперь такой вопрос:
    Есть таблица… вообще, у меня заказ несколько не стандартный, человеку нужен интернет-магазин, но в отдельном каталоге, другими словами, главная страница я даже не знаю как назвать этот тип, что то среднее меж визиткой и рекламой своих категорий… в общем — первый блок — «обзор новостей», выводятся последние три с ооочень кратким описанием, естественно ссылки «читать далее» выводят на single.php с полной статьёй, есть в меню и «отдельный» раздел, перейдя на который открывается страница уже с полным списком статей С более полным «кратким» описанием (по сути уже два лишних поля создавать и два разных по количеству символов КРАТКИХ описания, что я считаю полным идиотизмом…. но так надо), кстати та страница, о которой писал выше. Ниже блока вывода последних трёх новостей, блок под названием «ателье», в нём таблица, теги TD которой загнаны в цикл, таким образом описание столбцов единично, клетки же «размножаются». Поделена она на четыре столбика, в каждом своя категория: картинка, тип кузова, марка автомобиля, цена.
    и тут встаёт проблема, три из четырёх (2, 3, 4) выводятся ровно столько, сколько задано и сколько вообще есть в этой рубрике (в данном случае пять обзоров), первый же столбик, если там повтор одного из других трёх функций, выводит нормально, при попытке вставить туда либо текст, либо функции с выводом миниатюры (два варианта пробовал — через дополнительное поле с плагина, и стандартную миниатюру), выводит девять строк, то есть ещё 4 с потолка берёт помимо пяти существующих.
    Это явно баг самой cms, можно было бы указать на миниатюры, но как я писал, пробовал обычный текст вывести — всё одно девять строк выводит хоть ты тресни. И честно говоря, меня этот вордпресс начинает надоедать, впечатление о нём всё хуже и хуже.
    Если интересен вопрос в лице будущей темы, так как думаю проблема из редких, и решение стоит публичного внимания, а ответов на неё НЕТ нигде, сколько бы ни искал, напиши на мейл или в скайп: timur-dn
    Буду очень рад твоей помощи, а ты сделаешь тему с решением проблемы таковой.

    Ответить
  17. Велимудр

    И у вас проблема с выводом кода в метках «code», я туда вписал php команды вордпрессовские — не вывелось.

    Ответить
    1. Игорь Горнов автор

      Да, Велимудр, я знаю. Надо выбрать время и исправить, а то читателям неудобно.

      Ответить
  18. Велимудр

    Вопрос отпадает, проблема в том была, вывод краткого описания намертво привязан И к циклу, И к функциям:

    То есть, если убрать хотя бы первую функцию, вывод статей не будет реализован, что по моему пониманию, очень плохо.

    Ответить
    1. Игорь Горнов автор

      Видимо, тема такая, бывает.

      Ответить
      1. Велимудр

        Ответ у меня с опозданием…. нет, тема индивидуальная, и «такая» она или нет, сказать сложно.

        Ответить
  19. Велимудр

    Добрый вечер Игорь.
    Большое благодарю за эту тему-разъяснение, так как многих, особенно тех, кто делает сайт/интернет магазин, где нужны и другие страницы статические, этот вопрос интересует не менее сильно чем любой другой, есть одно НО, и с этим связан следующий вопрос:
    Сделать страницу сделал, она у меня под названием (news.php), думаю из названия понятно для чего она. Как в этой странице сделать вывод списка новостей (статей), через функцию the_excerpt(); ?
    Собственно, сама проблема в этом и заключается — статьи НЕ выводятся в этом файле, вордпресс его видит, но на этом вся магия и заканчивается. Написанное в тексте страницы через редактирование, видно, может и «левый» код работает, но вывод ни статей, ничего-либо другого не работает.
    Есть ли способ вывода статей в «своей» странице?

    Ответить
  20. Rencontrez

    Не всем подходит данный метод создания шаблона. Многие же совсем не шарят в программировании. (я например тоже) Использую для этого прогу =) Хоть и кодов много выходит но зато можно потом всё же удалить лишнее.

    Ответить
    1. Игорь Горнов автор

      Rencontrez, если разобраться, то все не так сложно как кажется, особенно, если следовать рекомендациям. В конце концов знания еще никому не мешали. Но, с другой стороны, Вы правы, здесь каждый выбирает сам, на что тратить свое время. Но для этого и существует альтернатива: кто-то выбирает прогу, а кто-то читает мою статью.

      Ответить
      1. Rencontrez

        Я вот немного набираюсь опыта и думаю что смогу благодаря вашей статьи =)

        Ответить
  21. Андрей

    Искал похожее, тут увидел несколько нюансов, которые действительно могут помочь в оформлении подобия продающих страниц. Надо теперь поковырять сайт на wordpress.
    Главное, чтобы в меню не полезла страница )))

    Ответить
  22. Alex

    vlad, ошибка 500 — это не правильно написанный php код. Проверьте синтаксис. Отсюда и все остальные баги

    Ответить
  23. vlad

    Сделал все как написано, но не получается как надо. Т.Е. создал пустой шаблон на базе arhives.php и загрузил в папку с темой.
    Создаю новую страницу, из выпадающего меню выбираю созданный шаблон и публикую.
    В итоге получается полная ерунда: ссылка на страницу появляется в меню, но при клике вылетает ошибка 500.
    И самое главное новая страница появляется на главной как запись.
    Что может быть?

    Ответить
    1. Игорь Горнов автор

      Vlad, а какая страница Вам нужна? Если статическая, то берите за основу шаблон page.php. Кстати, Вы используете какие-нибудь особенные скрипты на вновь созданной странице? Возможно, в них дело.

      Ответить
  24. Ирина

    У меня в теме удаление кода сайдбара ни к чему не привело. В коде страницы поиска в самом файле даже упоминания о нем нет, шаблон выбирается как положено, а на блоге в div сайдбар стоит как вкопанный. Его вывод видимо связан еще с каким-то файлом, подскажите куда копать? Я в php носик от чайника, в html еще туда-сюда. Есть код страницы без сайдбара демо из версии PRO, но там ссылок и названий вместе со стилями понатыкано так, что черт ногу сломит. Что можно сделать?

    Ответить
    1. Игорь Горнов автор

      Ирина, ну за редким исключением мы все в PHP не мастера, хотя основы и некоторые функции со временем осваиваем. Пришлите мне адрес Вашей страницы поиска, я посмотрю, в чем дело.

      Ответить
      1. Ирина

        Игорь, Вы знаете, я обошла всё, что можно, даже к Гудвину постучалась в личку. В результате решила закончить свои мучения с этой темой (данный случай не первый танец с бубнами). Нашла тему со встроенными шаблонами различных вариантов страниц, буду менять. Умотала она меня.

        Ответить
        1. Игорь Горнов автор

          Ирина, я Вам искренне сочувствую. Хотите, я все-таки посмотрю, возможно, не все так критично. Только мне нужна ссылка на Вашу страницу поиска. Кстати, если Вы пользуетесь кэшированием страниц, то, возможно, что браузер выдает кэш старой версии страницы. Попробуйте зайти в админку и открыть страницу поиска, можете даже очистить кэш, если у вас стоит плагин кэширования. Я просто не понимаю, удаление функции сайдбара должно приводить неминуемо к его удалению.

          Ответить
  25. Наталья

    Отличная статья для меня лично, как для «пионера» в изучении инструментов интернет. Обязательно приму к исполнению и на своем блоге отмечу источник получения данной информации.

    Ответить
    1. Игорь Горнов автор

      Спасибо, Наталья, за комментарий, удачи Вам!

      Ответить
  26. Екатерина

    Ой, зачем такие сложности?
    Открываете ftp, копируете файл page.php, переименовываете его в poisk.php, редактируете и вставляете обратно!
    Чтобы отредактировать, в самом верху пишете , тут вы совершенно правы. Потом вырезаете все, начиная с

    и заканчивая
    то есть все, что сидит внутри контейнера
    Обычно так, редко бывает немного по-другому.
    Эта процедура занимает ровно 2 минуты.
    Понятно, что привычный способ кажется самым удобным, но попробуйте 🙂

    Ответить
    1. Игорь Горнов автор

      Екатерина, именно так у меня и написано, просто расписано до мелочей. Концепция блога Goldbusinessnet — прежде всего, дать необходимую информацию начинающим. То, что Вам кажется очевидным и доступным, для многих молодых вебмастеров таковым на кажется.

      Ответить
      1. Екатерина

        Нет-нет! Это действительно замечательно, что все так подробно! Я про другое: вы говорите создать пустой файл, вывести его рядом с page.php, открыть один, открыть второй, скопировать из одного в другой… Я же предлагаю скопировать файл page.php, переименовать, отредактировать и вставить обратно — значительно меньше телодвижений. Я про метод, а не про смысл.

        Ответить
        1. Игорь Горнов автор

          Хорошо, понял, Екатерина, но я не считаю что открыть 2 файла в соседних вкладках и скопировать содержание одного в другой занимает кучу времени, просто Вы предложили компромиссный вариант и это очень хорошо, по крайней мере сразу видно, что внимательно читали публикацию, что для меня очень важно. Огромное спасибо за общение! 🙂

          Ответить
  27. Александр

    Спасибо, стоит повозится. Данная страница может быть продающей?

    Ответить
    1. Игорь Горнов автор

      В принципе, может. Но для продающей страницы существуют некоторые нюансы, о создании продающей страницы я обязательно напишу отдельный пост.

      Ответить
    2. GypeOrittee

      Автору огромное спасибо. Сайт реально крутой. Завтра иду на встречу.

      Ответить
    3. Errottnal

      Спасибо помог. Если есть еще такие сайты то выкладывай))

      Ответить