Руководство по условным тегам WordPress Вступление


Оглавление (нажмите, чтобы открыть):

Условные теги WordPress для начинающих

Здравствуйте уважаемые читатели XoZbloga! Условные теги — одна из особенностей WordPress. Благодаря условным тегам, можно действовать по разному в определенных ситуациях. Например, Вы можете проверить, что посетитель блога использует Windows или Mac, а после отображать различное содержимое на основе полученных данных. В этой статье мы рассмотрим условные теги WordPress, как они работают, и когда можно их использовать.
В последнем разделе статьи мы также рассмотрим 5 способов применения условных тегов + фрагменты кода, чтобы научить Ваш WordPress блог действовать более разумно в различных ситуациях!

If (условие)

Например в PHP и не только в нем, в условном операторе (if…else) если условие верно (TRUE), то код будет выполнен, а если оно ложно (FALSE), ничего не произойдет. Простой пример:

Можно также использовать elseif, который позволяет добавить еще оператор, который будет выполняться, если первый оператор будет ложью.

Это конечно, базовые знания об условном операторе (if..else) и наверняка, большинство с ними знакомы, но они просто необходимы для того чтобы перейти к условным тегам WordPress, которые работают подобным образом!

Как же работают условные теги?

Давайте рассмотрим один из условных тегов WordPress comments_open(), суть его заключается в том, что Вы просто запрашиваете, доступно ли комментирование статьи в настоящий момент? Если да — то WordPress вернет TRUE (то есть доступно) иначе FALSE (то есть не доступно). Параметром является ID статьи.

Для более подробного ознакомления с условными тегами WordPress перейдите на эту страницу.

А вот список из нескольких условных тегов WordPress:

  • comments_open — проверяет, доступно ли комментирование в статье;
  • has_tag — проверяет, есть ли у текущей статьи теги;
  • in_category — проверяет, присутствует ли указанная статья в указанной категории;
  • is_404 — показывается ли страница с ошибкой 404;
  • is_admin — проверяет, что показывается приборная или административная панель;
  • is_archive — проверяет, показывается ли какой-либо тип страницы Архива. Архив — Категории, Тега, Автора или даты публикации статей.
  • is_attachment — проверяет, показывается ли приложения (картинки или др. файлы);
  • is_author — показывается ли страница архива автора;
  • is_category — показывается ли страница архива категории;
  • is_front_page — возвращает TRUE если на главной странице отображаются последние записи и FALSE если главная страница статическая;
  • is_home — находится ли пользователь на главной странице блога;
  • is_multi_author — возвращает TRUE если на блоге статьи написаны более чем одним автором;
  • is_page — проверяет, нумеруются ли страницы;
  • is_page_template — находитесь ли Вы в каком-либо шаблоне страницы;
  • is_paged — проверяет, нумеруется ли выводимая на экран страница;
  • is_preview — проверяет, в черновом ли режиме показывается статья;
  • is_search — проверяет, находится ли пользователь на странице результата поиска;
  • is_single — проверяет, находится ли пользователь на странице записи;
  • is_super_admin — является ли пользователь супер-админом, параметром является id пользователя;
  • is_tag — проверяет, показывается ли страница архива тегов;

Комбинация условных тегов

Бывают случаи, когда необходимо совместить несколько условных тегов. Это легко сделано используя операторы AND (и) и OR (или).

Комментирование открыто только на странице с id 5.

Когда использовать условные теги?

Условные теги полезная вещь, когда Вы хотите управлять контентом в зависимости от результатов отбора и фильтрации. Авторизовался ли пользователь? С какого браузера он зашел на блог? Находится ли он на главной странице или в статье?
Пример работы условного тега мы можем посмотреть в теме twentyeleven (стандартная тема в WP 3.2+) файл index.php, строка 20.

С помощью have_posts() проверяется, есть ли опубликованные статьи если да, то они показываются, иначе будет написано «ничего не найдено» и предоставлено поле для поиска.

Ниже приведены еще несколько примеров условных тегов:

Шаблон страницы WordPress. Полное руководство

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

Иерархия страниц

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

Пользовательский шаблон – обозначается условным комментарием вверху внутри файла с произвольным названием.

page-slug.php – шаблон с названием страницы (ярлыка). Если пользовательский шаблон не был указан, то WordPress использует данный тип в качестве основного.

page-id.php – уникальный идентификатор страницы.

page.php – стандартный файл, отвечающий за содержимое страниц.

index.php – индексный файл. Если WordPress не найдет ни одного из выше перечисленного шаблона, то по умолчанию ответственный за страницы станет именно он.

Создание пользовательского шаблона для массового использования

Есть несколько вариантом создания шаблона со своими плюсами и минусами, почти незначительными. Этот вариант, который сейчас мы рассмотрим, является самый распространенный. Первым делом необходимо создать файл php или продублировать стандартный page.php . После чего сохранить его под другим именем, к примеру, templates_my.php . Затем вверху файла добавить комментарий:

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

Если вдруг у вас не окажется панели «Атрибуты страницы» тогда просто поставьте галочку в настройках экрана верхнем правом углу, чтобы ее отобразить.

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

Специализированные шаблоны страниц

Второй способ предназначен только для определенных страниц без исключения. Приведем пример по старой схеме. Допустим, у вас есть страница с названием «Портфолио», по умолчанию ее ярлык транслируется в английское слово «portfolio». Это можно увидеть в настройках «Страницы-Свойства». Теперь просто дублируем файл page.php и переименовываем в page-portfolio.php .

С идентификатором создается точно так же, только вместо ярлыка подставляется ID страницы. Он находится в адресной строке, раздел «Страницы-Изменить» выглядит так post=9 . Таким же макаром дублируется стандартный файл и переименовывается в page-9.php .

Практический пример создания шаблона страниц

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

Теперь нужно прописать стили в файле style.css

Осталось сделать одно: в админ-панели во вкладке «Страницы-Изменить» указать в атрибутах страницы наш ранее созданный шаблон «шаблон для примера».

Условные теги страниц

В заключительном пункте рассмотрим несколько условных тегов. Прописываются они в стандартном файле page.php .

Вывод элементов на определенных страницах

Условные теги WordPress

Условные теги (Conditional Tags) можно использовать в файлах-шаблонах Темы для того, чтобы указывать какой контент отображать на определенной странице в зависимости от того, выполнены ли какие-либо из заданных условий для этой страницы. Например, вы можете отображать какой-то текст только на главной странице. C условным тегом is_home () сделать это легко.
Работа всех условных тегов построена на том, чтобы в тот момент, когда выполнено конкретное условие, вернуть TRUE (т.е. сработать). Все возможные условия перечислены ниже.

Главная страница

is_home ()
Когда отображается главная страница (в WordPress 2.1 эта функция работает по-другому, чем в более старых версиях WordPress, смотрите static Front Page.)

Главная страница (новый тег)

is_front_page ()
Когда отображается главная страница блога, вне зависимости от того, что на ней выводится: записи или Статическая Страница. Срабатывает когда показывается главная страница блога, при этом не важно что стоит в настройках: Настройки->Чтение->На главной странице отображать Ваши последние записи или Постоянная страница. Кстати: этот условный тег добавлен в WordPress версии 2.5 и выше.

Панель администратора

is_admin ()
Когда отображается Доска объявлений или меню администратора.

Одиночная запись

is_single ()
Когда отображается одиночный пост.
is_single (’17’)
Когда отображается одиночный пост с > is_single (‘Irish Stew’)
Когда отображается одиночный пост с заголовком «Irish Stew».
is_single (‘beef-stew’)
Когда отображается одиночный пост с короткой ссылкой beef-stew.
is_single (array (17,’beef-stew’,’Irish Stew’))
Когда отображается одиночный пост, при этом должно сработать хотя бы одно условие из трех для этой записи: 1) ID 17 или 2) короткая ссылка «beef-stew» или 3) заголовок «Irish Stew». Кстати: возможность использования массива была добавлена в WordPress версии 2.5.

Любая страница, на которой выводятся записи

comments_open ()
Когда комментарии разрешены для текущего Поста, обрабатываемого в Цикле.
pings_open ()
Когда пинги разрешены для текущего Поста, обрабатываемого в Цикле.

Постоянные страницы

is_page ()
Когда отображается Постоянная страница.
is_page (’42’)
Когда отображается Постоянная страница с > is_page (‘About Me And Joe’)
Когда отображается Постоянная страница с заголовком «About Me And Joe».
is_page (‘about-me’)
Когда отображается Постоянная страница с короткой ссылкой «about-me».
is_page (array (42,’about-me’,’About Me And Joe’))
Когда отображается Постоянная страница, при этом должно сработать хотя бы одно условие из трех для этой Постоянной страницы: 1) ID 42 или 2) короткая ссылка «about-me» или 3) заголовок «About Me And Joe». Кстати: возможность использования массива была добавлена в WordPress версии 2.5.

Мастер Йода рекомендует:  Логическая задача про самолёт

Дочерние страницы Постоянной страницы

Такого условного тега как is_subpage () не существует, но вы можете использовать такой код:

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

    на Постоянной странице ( >

Используется ли индивидуальный шаблон страницы

Начиная с WordPress версии 2.5 и выше можно определить, какой Индивидуальный шаблон используется для вывода конкретной страницы.

is_page_template ()
Используется ли какой-либо индивидуальный шаблон для отображения Постоянной страницы?

is_page_template (‘about.php’)
Используется ли индивидуальный шаблон ‘about.php’? Заметьте, что этот условный тег в отличие от остальных, если вы хотите определить конкретный шаблон Постоянной страницы, то используйте имя файла, т.е. about.php или my_page_template.php.

Страница рубрики

is_category ()
Когда отображается рубрика.
is_category (‘9’)
Когда отображается рубрика с > is_category (‘Stinky Cheeses’)
Когда отображается рубрика с названием «Stinky Cheeses».
is_category (‘blue-cheese’)
Когда отображается рубрика с короткой ссылкой «blue-cheese».
is_category (array (9,’blue-cheese’,’Stinky Cheeses’))
Когда отображается рубрика, при этом должно сработать хотя бы одно условие из трех для этой рубрики: 1) ID 9 (term_ID) или 2) короткая ссылка «blue-cheese» или 3) название «Stinky Cheeses». Кстати: возможность использования массива была добавлена в WordPress версии 2.5.
in_category (‘5’)
Когда отображается одиночная запись, которая находится в рубрике с >

Кстати: запомните, что is_category и in_category это совершенно разные условные теги!

Страница тега (метки)

is_tag ()
Когда отображается страница архива тега (список постов с этим тегом).
is_tag (‘mild’)
Когда отображается страница архива тега ‘mild’.
is_tag (array (‘sharp’,’mild’,’extreme’))
Когда отображается архив тега, при этом должно сработать хотя бы одно условие из трех для этой страницы: 1) короткая ссылка «sharp», «mild», или «extreme». Кстати: возможность использования массива была добавлена в WordPress версии 2.5.
has_tag ()
Когда текущий пост имеет тег. Используется внутри Цикла. Кстати: возможность использования массива была добавлена в WordPress версии 2.6.
has_tag (‘mild’)
Когда текущий пост имеет тег ‘mild’.
has_tag (array (‘sharp’,’mild’,’extreme’))
Когда текущий пост имеет тег какой-либо тег из перечисленных в массиве.

Страница автора

is_author ()
Когда отображается страница автора.
is_author (‘4’)
Когда отображается страница автора, у которого > is_author (‘Vivian’)
Когда отображается страница автора с ником «Vivian».
is_author (‘john-jones’)
Когда отображается страница автора с именем «john-jones».
is_author (array (4,’john-jones’,’Vivian’))
Когда отображается страница автора, при этом должно сработать хотя бы одно условие из для этой страницы: >

Страница даты

is_date ()
Когда отображается архив любого периода времени (за месяц, за год, за день или архив основанный на дате).
is_year ()
Когда отображается архив за год.
is_month ()
Когда отображается архив за месяц.
is_day ()
Когда отображается архив за день.
is_time ()
Когда отображается почасовой архив за час, поминутный или посекундный.

Страница архива

is_archive ()
Когда отображается любой тип архива, буть то рубрика, страница тега, страница автора и даты.

Страница результатов поиска

is_search ()
Когда отображается страница результатов поиска.

Страница ошибки 404 (ничего не найдено)

is_404 ()
Когда на какой-либо странице случается ошибка «HTTP 404: Не найдено».

2,3,4 и т.д. страницы

is_paged ()
Когда отображается 2, 3 и т.д. страницы блога. Это относится к страницам архива или главной странице блога, когда вы переходите по ссылке Ранее (в Теме default) или на 2, 3, 4 и т.д. страницы (когда используется плагин типа wp-pagenavi). Это не относится к разбиению поста или Постоянной страницы на страницы с помощью тега QuickTag.

Аттачмент (прикрепленный файл)

is_attachment ()
Когда отображается на отдельной (своей) странице аттачмент (прикрепленный файл) к посту или Постоянной странице. Обычно это картинка или любой другой файл, загруженный через стандартный загрузчик при написании/редактировании поста или Постоянной страницы. Аттачменты можно отображать на их собственной странице и использовать для них свой шаблон в папке Теме. для более детальной информации посетите страницу Using Image and File Attachments.

RSS лента

is_feed ()
Этот условный тег обычно не используется обычными пользователями, а используется самим WordPress или разработчиками плагинов.

Трэкбек

is_trackback ()
Этот условный тег обычно не используется обычными пользователями, а используется самим WordPress или разработчиками плагинов.

Предпросмотр

is_preview ()
Когда отображается одиночный неопубликованный пост в режиме предпросмотра.

Есть ли цитата (excerpt) у поста?

!empty ($post->post_excerpt)
Штатного способа проверки на существование цитаты (excerpt) у поста НЕТ, но вы можете использовать приведенный выше код. Удалите восклицательный знак ‘!’ из этого кода чтобы выполнять проверку ‘нет цитаты’.

Работающие примеры

Здесь несколько примеров для демонстрации того, как следует использовать условные теги.

Одиночный пост

Этот пример показывает как использовать условный тег is_single () для того, чтобы отобразить информацию только на странице одиночного поста:

Разница, основанная на дате

Если кто-то просматривает ваш блог по датам, то он увидит «помеченные» посты разных лет разным цветом бэкграунда:

Разный контент в боковой колонке (сайдбаре)

Этот пример выводит различный контент в боковой колонке в зависимости от того, какой тип контента просматривается в текущий момент.

Полезная страница ошибки 404

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

Перевод статьи Кодекса WordPress: Conditional Tags. За перевод огромное спасибо Sonike.

Расширяем возможности тегов (меток) в WordPress

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

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

В некотором роде это мощнейший цикл, на котором выстраиваются целые сообщества; собственно этот цикл является причиной того, что WordPress является одной из самых востребованных CMS в мире. И в рамках подготовленной статьи мы рассмотрим, что есть такое теги WordPress и что с ними возможно cделать (они же tags).

Tags предлагают следующие позитивные моменты:

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

Если не брать во внимание весь функционал таксономии, то в WordPress можно условно выделить несколько типов ее «сущностей»: страницы, категории, посты и метки (теги, tags). Собственно посты и страницы выступают в качестве главных, ведь в них размещаются тексты, в которых возможно размещение ключевых слов и т.п.

Плагин для работы с тегами Simple Tags в WordPress

В Вордпресс есть предмет для работы с метками (tags), но он не отличается особой функциональностью. Если поставить модуль Simple Tags, то при его помощи можно будет неплохо облегчить себе работу с тегами, а также вы получите дополнительные возможности. Скачать плагин можно по URL: category seometa

Так, после установки плагина у вас появятся 3 дополнительных пункта:

  • управление метками;
  • массовое изменение меток;
  • автоматические метки, которые генерируются исходя из основания заголовка и содержимого поста.

Все остальные «полезности» плагина можно найти в меню Настройки – Simple Tags. Опций здесь предостаточно, поэтому рассмотрим только те, которые по нашему мнению являются наиболее важными.
В первую очередь необходимо отметить функцию st_the_tags (), которая отвечает за вывод списка тегов для определённого поста, и эта функция может немного больше, нежели стандартная от Вордпресс. Найти ее можно на закладке «Метки для текущей записи»; там же рекомендуем включить пункт «Автоматически отображать список меток в фидах».

Также важны связные записи, которые отображаются после поста на похожие по теме статьи на вашем сайте. Чтобы отобразить их в шаблоне используется функция st_related_posts(). Советуем активировать пункт «Автоматически отображать список меток в фидах».

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

Тег «more» на сайте WordPress

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

Как добавлять и использовать теги в категориях (tags)

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

Для добавления какой-либо метки (тега), необходимо зайти в раздел «Записи» и выбрать пункт «Метки». Перед вами откроется поля для названия, ярлыка и описание. По дефолту поля будут обычным полем по типу textarea для html формы. Чтобы у вас появилось больше возможностей, рекомендуем поставить плагин Rich Text Tags, который дает возможность добавить дополнительные теги по типу «more», но и поддерживает таксономию и категорию. Скачать плагин можно по URL: rich-text-tags

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

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

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

$description = tag_description();
echo $description;

Пошаговое руководство по написанию собственного шаблона WordPress

Написать свой собственный шаблон WordPress с нуля довольно просто. Если вы в индустрии веб-разработки, вы, возможно, уже слышали, что такое «WordPress». Может быть, клиент упомянул, но вы не знакомы с этим. Возможно, вы уже работали с ним раньше, но не знаете, как создать тему с нуля. Или, может быть, вы полный новичок. Как бы то ни было, этот пост для вас.

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

  • Вам необходимо иметь полноценную настройку WordPress, как на локальном, так и на живом хостинге. Если вы хотите узнать больше о запуске с WordPress, обратитесь к этой статье .
  • Концептуальный дизайн, как PSD или HTML CSS, чтобы следовать на протяжении всего процесса разработки.
  • Небольшое введение в программирование на PHP . Тем не менее, это не обязательно для этого конкретного поста, но все же рекомендуется.

Объем
Разработка темы WordPress — это долгая, утомительная, никогда не заканчивающаяся, но большая проблема программирования. Процесс разработки полностью зависит от того, как вы хотите, чтобы ваша тема выглядела. Этот пост является просто учебным пособием и не охватывает все фрагменты, необходимые для стандартной темы WordPress. Прочитав эту статью, вы будете в значительной степени полагаться на WordPress Codex и WordPress StackExchange для дальнейших запросов.

Начиная
С предпосылками, давайте начнем. Первое, что вам нужно знать, это тот факт, что почти все, что вы делаете в WordPress, находится в каталоге wp-content . Все остальное — это сама WordPress CMS, и вы не хотите с этим связываться.

Когда вы откроете каталог wp- content- > theme , вы найдете темы WordPress по умолчанию, например , двадцать пятнадцать , двадцать пятнадцать , двадцать тринадцать и т. Д. Для начала создайте каталог с любым именем, которое вы предпочитаете. Для этого поста мы назовем его wpstart .

Мастер Йода рекомендует:  Центр сертификации — проект, который подтвердит ваш профессионализм в создании сайтов

Условные теги WordPress. 10 примеров использования

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

Что такое “условный тег”?

Они отвечают на вопрос типа “да/нет”: они возвращают только TRUE или FALSE, когда их используют. Условные теги применяются в выражениях if – в зависимости от значения TRUE или FALSE, мы можем использовать наш код в соответствии с ответом.

Все условные теги описаны в кодексе WordPress.

В нашем уроке представлены 10 условных тегов.

Функция 1. Выводим сообщение на главной странице с помощью is_front_page()

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

Сначала нужно скачать плагин ColorBox jQuery. Берем файл colorbox.min.js из папки “colorbox/colorbox” и colorbox.css (вместе с соответствующей папкой “images”) и размещаем их в папке “colorbox” в своем проекте.

Затем создаем файл colorbox.load.js, чтобы загрузить всплывающее информационное окно. Размещаем данный файл также в папке “colorbox”:

После чего размещаем код HTML всплывающего окна (с идентификатором “ mypopup ” для CSS) внутри файла index.php вашей темы и скрываем его в файле style.css (с помощью кода “ #mypopup “).

Копируем данный код в файл functions.php!

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

Функция 2. Добавляем код CSS и JS на определенную страницу с помощью is_page()

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

Как и в первом примере, код нужно добавить в файл functions.php. (Нужно изменить число “ 123 ” на реальный идентификатор страницы!)

Функция 3. Раздел “Еще из данной категории” для записи в специальной категории с помощью in_category()

Иногда требуется организовать раздел “Еще из данной категории” для определенной категории (и только для нее). Допустим, у вас есть категория “Новости” и другие категории не подходят для раздела, который нужно создать. Условный тег in_category() поможет решить задачу:

Делаем функцию такой, какая требуется для задачи и добавляем ее в файл functions.php. Затем открываем файл single.php и помещаем код ( ) туда, где должен появляться раздел.

Функция 4. Выводим имя автора на странице предварительного просмотра с помощью is_preview()

Может потребоваться выводить имя автора на странице предварительного просмотра. Добавляем следующий код в файл functions.php вашей темы:

Конечно, нужно еще добавить код в файл style.css, для формирования текста предупреждения:

Функция 5. Удаляем определенные элементы со страницы 404 с помощью is_404()

Самый простой код из всех, приведенных в данной статье. Нужно просто заключить “определенные элементы” в приведенный ниже код (например, рекламные блоки)!

Функция 6. Скрываем автоматически генерированную цитату с помощью has_excerpt()

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

Добавляем его в файл functions.php и заменяем реализацию the_excerpt() на full_excerpt() .

Функция 7. Формируем список заголовков записей (вместо полного содержания) в архиве на основе дат с помощью is_date()

Иногда списка заголовков более чем достаточно на определенных страницах архива – например, для архива на основе дат. С помощью условного тега is_date() можно выкинуть лишнее из основного цикла , кроме заголовка.

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

Функция 8. Изменяем фавиконку для панели администратора с помощью is_admin()

Данный код может быть полезен, когда вы работаете с большим количеством открытых закладок в вашем блоге. В таком случаем можно немного изменить фавиконку и сохранить ее как adminfav.ico – например, фавиконка панели администратора может иметь другой цвет фона.

Остается только добавить код в файл functions.php:

Функция 9. Выводим миниатюры для записи по умолчанию с помощью has_post_thumbnail()

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

Таким образом можно сохранить целостность внешнего вида темы.

Функция 10. Выводим специальное меню для зарегистрированных пользователей с помощью is_user_logged_in()

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

Здесь представлен обычный код “заголовок и список”. Следует сделать его таким, как и код боковой панели вашей темы и затем разместить код в вашей теме в файле sidebar.php.

Также, в идеале следует использовать пользовательское меню WordPress с помощью wp_nav_menu() . Одно стандартное и одно для зарегистрированных пользователей, а затем вы можете управлять ими с помощью панели администратора WordPress.

Обзор условных тегов в WordPress: введение

Одним из наиболее важных преимуществ WordPress является расширяемость ядра. Почти десятилетие с помощью плагинов и тем WordPress пользователи имели возможность придавать форму своим сайтам. (WordPress был впервые выпущен в 2003 году, но плагины были введены в 2004, в 2005 году были представлены темы.) И для создания надежной инфраструктуры, WordPress включает в себя много удобных подсистем (функций, классов или целых API). Одна из них – «Условные теги», которые позволяют нашему коду функционировать по-разному, в зависимости от конкретных обстоятельств.

В этой обучающей серии мы собираемся узнать про эти Условные Теги. Мы собираемся начать с определения и значения условных тегов в этой статье. И в следующей части мы собираемся разобраться с условными тегами с помощью описаний и примеров.

Что такое условные теги?

В кодексе условные теги описаны следующим образом:

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

Надеюсь вы уловили идею: для того, чтобы ваш код мог использовать и/или изменять содержимое, вы используете условные теги и сообщаете коду, тип, положение и место контента. Представьте себе, что ваш код и WordPress разговаривают:

  • Ваш Код: Братишка, мне нужна помощь.
  • WordPress: Конечно, я весь во внимании. Что тебе нужно?
  • Ваш Код: собираюсь обернуть эти названия записей некоторыми DIV-ами, но мне нужно знать, находятся ли они на странице архива категории. Они на странице архива категории?
  • WordPress: TRUE
  • Ваш Код: Эмм. Чего?
  • WordPress: я имею в виду да.
  • Ваш Код: Здорово, спасибо!
  • WordPress: пока!

Т.е. условные теги представляют собой логические операторы, которые направляют ваш код в нужное русло, когда используются внутри if/else оператора. Они лишь возвращают TRUE или FALSE , и вашему коду необходимы только эти два значения булева типа.

Как пользовать условные теги

В то время как условные теги являются очень важной частью WordPress разработки, они удивительно просты в использовании. Так как они лишь возвращают TRUE или FALSE , вы можете использовать их внутри условия if без каких-либо проблем. (На самом деле, есть три отличительных условных тега, которые возвращают FALSE или значение, и мы вернемся к ним в следующих частях, но вы можете использовать их в конструкции if тоже.)

Рассмотрим небольшой пример того, как работает условный тег:

Понятно? Мы использовали условный тег для конструкции if и мы сказали WordPress что если это главная страница, то этот фрагмент кода будет выводить указанный текст приветствия. Это действительно не так уж сложно.

Рассмотрим другой пример:

Понятно что мы сделали? Мы создали переменную и определили условный тег в ней; так что мы смогли использовать переменную в конструкции if . Такие дела!

Примеры сценариев использования условных тегов

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

  1. Представьте, что вы разрабатываете плагин социальных кнопок для WordPress и хотите дать пользователям возможность показать и скрыть виджет под записями и страницами. С сочетанием is_single() , is_page() и is_singular() можно создать функцию, которая проверяет настройки плагина и, скажем, скрывает виджет на страницах, но показывает его под каждой записью.
  2. Предположим, что вы разрабатываете тему для небольшой компании. Вы работаете со страницей «Новости» (блоговая часть темы) и разработали интересный пост листинг с миниатюрами. но вы знаете, что они могут забыть и сознательно не добавлять миниатюру к некоторым записям. Вот где has_post_thumbnail() приходит на помощь: используйте его и ваша тема будет проверять, если запись не имеет миниатюру, то показываем изображение по умолчанию.
  3. Предположим, вы создаете дополнение для популярного плагина WordPress. Вы должны определить, что основной плагин установлен и используется, потому что ваш плагин может вызвать проблемы, если начинающий пользователь устанавливает его без использования основного плагина. Решение очень простое: с помощью is_plugin_active() , вы можете отключить функциональность вашего плагина, и используя is_plugin_inactive() , вы можете отобразить предупреждение в админке.
  4. Вы создали тему для другого клиента и он хочет загрузить изображения, документы PDF и ZIP-архивы к ихним записям, но они также хотят отобразить все изображения под каждой записью.. Простое использование условного тега wp_attachment_is_image() позволит вам выбрать больше изображений и показать их в записи.
  5. Допустим, вы делаете плагин для блога с несколькими авторами, и вы хотите знать что сайт имеет более одного автора. Условный тег is_multi_author() дает вам ответ.

Заключение

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

Цель этой серии – познакомить вас с условными тегами и мы только начали. В следующих пяти статьях мы рассмотрим 65 различных условных тегов с описаниями, случаями использования и примеры для некоторых из них.

Основные теги шаблона WordPress

Теги шаблона WordPress используются для создания динамических страниц блога. Почему динамические?

Что такое теги шаблона WordPress

Теги шаблона WordPress используются для создания динамических страниц блога. Почему динамические? Потому что тег это не статический код, а инструкция, сделать то-то и то-то при таком то условии. По сути, любой тег шаблона — это код, который поручает WordPress «сделать» что-либо или что-нибудь «получить.

В WordPress есть определенный набор пользовательских тегов. Тег WordPress нельзя придумать самому. Можно только написать определенный код (инструкцию) в котором будут использоваться теги из списка тегов WordPress.

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

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

По сути, это инструкция WordPress, показать на экране определенную информацию (show) о блоге. Определяется эта информация набором параметров для этого тега bloginfo().

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

Основные теги шаблона WordPress

Шаблон WordPress состоит из нескольких файлов , написанных на PHP. Все части шаблона wordpress объединены в общую структуру, при помощи общих тегов шаблона WordPress.

Редактировать шаблон WordPress можно непосредственно из административной панели. Все файлы шаблона находятся по адресу: Консоль →Внешний вид → Редактор.

Важно! Некоторые функции могут принимать несколько разных параметров. PHP функции могут иметь несколько параметров, разделенных запятыми. Порядок параметров важен!

Теги WordPress без параметров

Тег автора

тег без параметров. Выводит на экран имя автора сообщения. В скобках () ничего не должно стоять.

Мастер Йода рекомендует:  Форум, работающий с базой данных MySQL PHP

Теги с параметрами, параметры указываются в скобках

Тег информация о блоге

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

Тег название статьи

отображает название статьи и имеет два переменных параметра.

  1. Первый в одинарных кавычках это sep или сепаратор-разделитель. В данном случае тире.
  2. Второй это логический параметр WP.

Тег архива

тег для отображения архива блога. Имеет шесть параметров.

Для вывода архива по умолчанию, тег архива:

Тег Содержимое поста

Содержимое поста с параметрами

$more_link_text,необязательный параметр, отображает ссылку «Подробнее». По умолчанию ‘(more…)’

$stripteaser – дополнительный тег, указывающий на содержимое перед ‘(more…)’.По умолчанию ложный (False)

Тег Содержимое поста с ссылкой «Подробнее…»

Тег Содержимое поста с названием статьи в «Подробнее…»

Тег части статьи

отражает содержимое части статьи. Без параметров, тоесть по умолчанию отражает несколько строк статьи.

Тег вывода комментариев

Загружает комментарий из шаблона. Используется в одном сообщении или страницы. Не будет работать за пределами одного экрана.

Тег ссылок

отображает ссылки типа «Следующая страница»

Может иметь следующие параметры:

Before — Текст перед всеми ссылками

After – Текст после всех ссылок;

Link_before -Текст до текста по ссылке. По умолчанию пустой.

Link_after –Текст после текста по ссылке.;По умолчанию пустой;

next_or_number указывает номера страниц, которые могут использоваться;

nextpagelink — Текст ссылки на предыдущую страницу. По умолчанию Next page ,Следующая страница.

Previouspagelink — Текст ссылки на предыдущую страницу. По умолчанию Предыдущая страница

Pagelink — Формат для номеров страниц. % в строке будут заменены на числа, так Страница% будет генерировать «Страница 1», «Страница 2» и т.д. По умолчанию %

Echo –логический массив. Переключает либо повторить, либо вернуть результат. По умолчанию это True . Допустимые значения:

1 (True) — по умолчанию

Тег заголовка шаблона

Добавляет header.php файл шаблона из каталога текущей темы. Может быть указано индивидуальное имя .Если тема не содержит header.php файл, то заголовок темы, будет указан по умолчанию wp-includes/theme-compat/header.php .

Тег дочерних шаблонов в основном шаблоне

Загрузка шаблона в шаблон (кроме заголовка, боковой и нижний колонтитулы). Упрощает повторное использование участков кода и простой способ для дочерней темы, чтобы заменить ими участки родительской темы.

$slug -имя для общего шаблона.

$name -наименование специализированного (дочернего) шаблона

Тег вывода сайдбаров

Добавляет шаблон sidebar.php из директории, где расположены шаблоны рабочей темы. При задании параметра (name), будет добавлен шаблон подвала с именем (sidebar-name.php).

$name -Имя сайдбара. По умолчанию пусто.

Тег вывода футера шаблона блога

Добавляет шаблон footer.php из директории, в которой расположены шаблоны текущей темы. Если задан параметр name, то будет добавлен шаблон подвала с именем footer-.php.

Примеры общих форм шаблонов WordPress

Два сайдбара в теме:

Разные сайдбары для разных страниц:

Для страницы Home, сайдбар ‘home’

Для страницы 404, сайдбар ‘404’

Теги извлечения различных URL блога

извлекает URL главной для текущего сайта, необязательно с $ PATH аргументом.

Пример результата: https://www.example.com

извлекает URL сайта для текущего сайта (где находятся файлы WordPress основного сайта) с соответствующим протоколом

Пример результата: https://www.example.com или https://www.example.com/wordpress

извлекает URL в админке для текущего сайта с соответствующим протоколом

По умолчанию

Пример результата: https://www.example.com/wp-admin

извлекает URL в включенную в себя область для текущего сайта с соответствующим протоколом

По умолчанию

Пример результата: https://www.example.com/wp-includes

извлекает URL в область содержимого для текущего сайта с соответствующим протоколом

По умолчанию

Пример результата: https://www.example.com/wp-content

Возвращает абсолютный URL для плагинов каталога (без косой черты), или, при использовании $patch аргумент, для конкретного файла в этом каталоге.

По умолчанию

Пример результата: https://www.example.com/wp-content/plugins

В завершении перечислю шаблоны отвечающие за вывод статей в блоге WordPress

Основной шаблон всех страниц

Плагин WordPress: Руководство по созданию своего плагина

Вступление

В этом руководстве мы подробно рассмотрим как создать плагин WordPress со своей собственной страницей администрирования. Характерная особенность любого плагина – это отделение своего кода от кода ядра WordPress. Если с плагином что-то произойдёт, остальная часть сайта будет работать.

Что понадобится

  • Текстовый редактор
  • FTP доступ к вашему хостинг-аккаунту
  • Установленный рабочий WordPress

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

Узнать о том, как подключить Notepad++ к своей FTP-серверу можно прочитать в руководстве как подключиться по FTP с Notepad++(англ.). Также вы можете воспользоваться FTP программой такой как FileZilla для загрузки ваших файлов и подробнее узнать о том, как настроить клиент FileZilla в этом руководстве.

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

Также настоятельно рекомендуем сделать бекап вашего сайта(англ.) перед началом.

Что такое плагин WordPress?

Плагин WordPress – это автономный код, который улучшает и расширяет функциональность WordPress. Используя любую комбинацию PHP, HTML, CSS, JavaScript/jQuery или ряда других языков программирования, плагин WordPress может добавить новые характеристики к любой части вашего сайта, включая Консоль Администрирования. Вы можете изменять поведение WordPress по умолчанию или полностью удалять ненужное поведение. Плагины позволяют легко настраивать WordPress под себя и свои потребности.

Поскольку плагин WordPress это отдельный код, он не пересекается непосредственно с какой либо частью кода ядра WordPress. Плагин может быть скопирован или установлен на любую установку WordPress. Альтернативный (и очень не рекомендуемый) путь внесения изменений в WordPress – написание новой функции в файл WordPress functions.php, который находится в каталоге /wp-includes/ или в файл functions.php, который является частью вашей темы. Это может привести к ряду возможных проблем.

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

Плагины же никогда автоматически не перезаписываются и не удаляются при обновлении WordPress. Если в коде вашего плагина WordPress есть ошибки, вы можете просто отключить его в Админ Консоли на время исправления ошибки. В случае, если в вашем плагине серьёзная ошибка, WordPress иногда может самостоятельно автоматически отключить его, чтобы сохранить функционирование всего сайта.

Что такое хук (hook)?

Плагины WordPress взаимодействуют с кодом ядра через так называемые хуки (hooks, от англ. hook – крючок). К ним, как к крючкам можно “цеплять” выполнение каких-либо интересных нам функций. В WordPress есть два вида хуков:

  1. Action hooks или хуки-события (добавить/удалить пользовательскую функцию к некоторому событию).
  2. Filter hooks или хуки-фильтры (для изменения данных, обрабатываемых функциями).

События и Хуки-события

Посещение любой страницы WordPress-сайта – это вызов множества функций PHP (называемых событиями – actions). Функции привязываются к хукам-событиям (action hooks). Механизм хуков-событий предоставляется WordPress. Вы можете добавлять свои функции к какому-либо событию из списка событий, используя механизм хуков и они будут запускаться по запуску этого события. Вы также можете удалять уже существующие функции из любого списка хуков-событий. Хуки-события привязаны к выполнению определённого события. Например, перед закрытием тега на любой странице, вызывается хук-событие wp_head() и запускается ряд функций, которые привязаны к этому хуку wp_head().

Хуки-события являются контекстными – некоторые вызываются на каждой странице сайта, другие только, когда отображается Админ Консоль и так далее. Полный список событий и контекста, в котором их можно вызывать смотрите здесь странице API плагина/Справка по Action.

Добавление функций на хук события, используя add_action()

Чтобы добавить функцию на любой хук-событие, ваш плагин WordPress должен вызвать функцию WordPress под названием add_action(), как минимум с двумя параметрами.

  • Первый обязательный параметр – это название хука-события(action hook), к которому собираемся связать свою функцию.
  • Второй обязательный параметр – имя функции (function), которую будем запускать.
  • Третий параметр (необязательный) – это приоритет(priority) функции, которую вы собираетесь запустить. Вы можете привязать сколько угодно функций к одном хуку события и обращаться к ним в любом порядке. Приоритет запуска по умолчанию – 10, ваша функция запускается сразу после встроенных функций WordPress. Функция с приоритетом 11 запустится следующей и так далее.
  • Четвёртый параметр (необязательный) – это количество аргументов, означает сколько параметров ваша пользовательская функция может принять. По умолчанию количество параметров равно 1.

Пример кода плагина для отображения текста после раздела футера (footer) на каждой странице

Этот плагин WordPress перехватывает хук-событие wp_footer(), который вызывается сразу перед закрытием тега

Шаблон страницы WordPress. Полное руководство

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

Иерархия страниц

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

Пользовательский шаблон – обозначается условным комментарием вверху внутри файла с произвольным названием.

page-slug.php – шаблон с названием страницы (ярлыка). Если пользовательский шаблон не был указан, то WordPress использует данный тип в качестве основного.

page-id.php – уникальный идентификатор страницы.

page.php – стандартный файл, отвечающий за содержимое страниц.

index.php – индексный файл. Если WordPress не найдет ни одного из выше перечисленного шаблона, то по умолчанию ответственный за страницы станет именно он.

Создание пользовательского шаблона для массового использования

Есть несколько вариантом создания шаблона со своими плюсами и минусами, почти незначительными. Этот вариант, который сейчас мы рассмотрим, является самый распространенный. Первым делом необходимо создать файл php или продублировать стандартный page.php . После чего сохранить его под другим именем, к примеру, templates_my.php . Затем вверху файла добавить комментарий:

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

Если вдруг у вас не окажется панели «Атрибуты страницы» тогда просто поставьте галочку в настройках экрана верхнем правом углу, чтобы ее отобразить.

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

Специализированные шаблоны страниц

Второй способ предназначен только для определенных страниц без исключения. Приведем пример по старой схеме. Допустим, у вас есть страница с названием «Портфолио», по умолчанию ее ярлык транслируется в английское слово «portfolio». Это можно увидеть в настройках «Страницы-Свойства». Теперь просто дублируем файл page.php и переименовываем в page-portfolio.php .

С идентификатором создается точно так же, только вместо ярлыка подставляется ID страницы. Он находится в адресной строке, раздел «Страницы-Изменить» выглядит так post=9 . Таким же макаром дублируется стандартный файл и переименовывается в page-9.php .

Практический пример создания шаблона страниц

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

Теперь нужно прописать стили в файле style.css

Осталось сделать одно: в админ-панели во вкладке «Страницы-Изменить» указать в атрибутах страницы наш ранее созданный шаблон «шаблон для примера».

Условные теги страниц

В заключительном пункте рассмотрим несколько условных тегов. Прописываются они в стандартном файле page.php .

Вывод элементов на определенных страницах

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