Как написать плагин для WordPress. PHP код в WordPress — лучшие практики Имена классов, функций, файлов, констант, переменных

Здравствуйте, уважаемые читатели a! Я уже упоминал о важности того, чтобы иметь под рукой качественную подборку полезных фрагментов (вставок) кода. Однако рассматривались . Сегодняшний пост будет посвящен фрагментам кода, с помощью которых можно расширить или усовершенствовать работу сайта на движке . Подборка состоит из 10 фрагментов кода. Приступаем:

Постраничная навигация без плагина Динамический копирайт текст

Этот фрагмент позволяет создавать простой текст авторского права в подвале. Дата устанавливается автоматически, используется функция the_date() .
Просто скопируйте фрагмент в свой footer.php :

< b> (c)
| < a href= "" >
|

Информация о пользователе

WordPress позволяет пользователям добавлять информацию о себе в своем профиле в WP Admin. Для отображения информации пользователей, Вы можете использовать этот фрагмент:

Для работы кнопочки необходимо подключиться к , добавляем следующую строку в файл header.php :

< script type= "text/javascript" src= "https://apis.google.com/js/plusone.js" >

PHP код в тексте

Бывает при написании статьи нужно вставить код , но если его просто вставить то он не отобразиться. Чтобы этого избежать используем следующий фрагмент, его необходимо добавить в файл function.php темы:

Не забудьте убрать пробелы в тегах!
А работает это следующим образом, в месте где необходимо вставить PHP код, выделяем его вот так:

[ code] [ / code]

Исключить записи с главной страницы

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

1
2
3
4
5
6
7
8
9

«Хлебные крошки» без плагина

Ну и на закуску, вот фрагмент кода с помощью которого на блоге можно организовать так называемые «хлебные крошки», это дополнительный элемент навигации, когда отображается путь в виде ссылок на страницы выше рангом на страницу категории и главную. Примерно вот так (Главная->Категория 1->Название статьи). Данный фрагмент кода необходимо вставить в файл function.php Вашей темы:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

Что использовать эти «хлебные крошки», добавляем в файлы (archive.php, category.php, page.php, single.php, search.php) следующую функцию:

Внешний вид «хлебных крошек» оставляет желать лучшего) Поэтому Вам придется поработать над стилями!

На этом все =)

Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на

Здравствуйте, уважаемые читатели блога сайт. Сегодняшнюю публикацию я решил посвятить вопросу написания статей в HTML редакторе WordPress ().

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

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

Использование только HTML редактора в WordPress

Но дело было даже не в HTML, а в удобстве выполнения повседневных и часто встречающихся действий. Да, редактор WordPress, используемый по умолчанию, позволяет одной кнопкой выделять жирным (тег STRONG) и курсивом (EM), вставлять ссылки, цитаты, картинки, нумерованные и маркированные списки, выделять различный код и .

Но мне этого было недостаточно, т.к. в тексте статей я активно использовал внутренние заголовки различных уровней (от H2 до H5), выделял код (PHP, CSS и т.п.) специальными тегами и делал многое другое.

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

Но эта проблема успешно разрешилась благодаря замечательному WP плагину Post Editor Buttons, с помощью которого можно добавить сколько угодно много дополнительных кнопок на панель инструментов HTML редактора, запрограммировав их на определенные действия.

Сегодня мы рассмотрим написание постов в WP во всех подробностях от начала и до конца, не опуская нюансов и тех приемов, которые, по моему мнению, помогли блогу сайт (вы его сейчас как раз и читаете, если, конечно же, эту статью не украли и не разместили на другом сайте) выйти на уровень нескольких тысяч уникальных посетителей.

Т.е эта публикация будет представлять собой развернутое приложение к статье (это не оригинальное название, а взятое из ретвитта одного из читателей , но оно, по-моему, даже более удачное, чем мое оригинальное название).

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

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

Для тех у кого пока нет своего WP блога, но желание стать блогером имеется, или же для тех, кто хочет переехать с другого блогового движка или бесплатной платформы на WordPress, я приведу ссылки на материалы по его установке и первоначальной настройке :

Приступаем к написанию статьи в HTML редакторе WordPress

Итак, для написания новой статьи вам нужно будет зайти в админку (http://sait.ru/wp-admin/) и выбрать из левого меню (если у вас используется стандартное оформление админки WP) пункт «Добавить новую» в области «Записи».

В результате откроется стандартная страница добавления статьи (поста), в которой будет присутствовать поле для ввода ее заголовка и большое поле для ввода текста поста.

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

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

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

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

Почему же так важен заголовок для продвижения страницы в поисковых системах? Да потому, что для них он является основным критерием определения релевантности (степени соответствия — и прочие сложные слова) вашей статьи тому или иному поисковому запросу.

Хотя нет, не совсем так. Не название поста, а заголовок страницы TITLE является важнейшим критерием для поисковиков при определении позиции по тому или иному поисковому запросу ( смотрите во всех подробностях).

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

Обращаю ваше внимание на различие между HTML тегом логического выделения «STRONG» и еще одним тегом выделения жирным «B», а так же между «EM» и «I». Первые из этих тегов (STRONG и EM ) следует использовать не только для привлечения внимания читателей к важным моментам текста.

Поисковики будут учитывать с большим весом слова и словосочетания, выделенные этими тегами акцентирования (STRONG и EM), по сравнения с обычными, не выделенными словами текста. Однако, сейчас нужно быть с этим очень осторожным, чтобы не перегнуть палку и не .

Выбор оптимальной структуры заголовков уровня H1-H6

Теперь что касается тегов заголовков H1-H6, которые тоже могут использоваться в статьях блога для расставления акцентов на нужных словах и фразах.

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

Кроме того, что внутренние подзаголовки (обычно начиная с уровня H2, H3 и далее) предоставляют дополнительную возможность структурирование текста, что улучшает их восприятие читателями.
Но есть еще один вопрос внутренней оптимизации сайтов, который связан с уровнями заголовков (от H1 до H6), используемыми на страницах WordPress блога.

Основной способ распределения уровней заголовков по вебстранице гласит, что заголовок всей статьи должен быть заключен в тег H1 (самый высокий уровень) и он должен быть один на странице , ну а все внутренние подзаголовки в тексте должны начинаться с H2.

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

Так вот, если вы выберите из меню этого плагина (его меню добавляется в верхнюю часть браузера) пункты «Контуры» — «Контуры заголовков», то все найденные на открытой в данный момент в браузере вебстранице будут обведены разноцветными прямоугольниками, рядом с которыми будет подписан их уровень H1 -H6.

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

Этот Маул в какой-то из своих статей упомянул, что заголовок уровня H1 должен быть на сайте одинаков для всех вебстраниц, но правда свою идею он никак не аргументировал. Тем не менее, я использую именно его схему. Для внутренних подзаголовков использую теги H3 и H4 (иногда и H5).

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

Теперь еще надо немного рассказать о том, как можно в WordPress поменять урони HTML тегов заголовков, например, для статей, или добавить, как это сделал я, один общий для всех уровня H1.

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

/wp-content/themes/Название темы/

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

Давайте посмотрим, где можно изменить уровень основных названий статей, расположенных на главной (за ее вид отвечает файл INDEX) и на страницах с полными версиями статьями (файл SINGLE).

Откроем сначала на редактирование INDEX. У меня в нем названия статей WordPress заключены в HTML тег H2 (второго уровня) и кроме этого они являются ссылками, ибо заключены в тег ссылки A:

threads)

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

14. Процедуральный и объектно ориентированный подходы

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

Объекты прекрасно подходят для представления данных. Пример:

Class User { public $username; public $first_name; public $last_name; public $email; public function __construct() { // ... } public function create() { // ... } public function save() { // ... } public function delete() { // ... } }

Процедуральные методы имеют свою специфическую пользу.

Function capitalize($string) { $ret = strtoupper($string); $ret .= strtolower(substr($string,1)); return $ret; }

15. Читайте Open Source Код

Обычно проекты Open Source пишутся большим количеством разработчиков. С этой точки зрения, изучение написанного кода в подобных проектах может помочь вам набраться опыта. Так что не жалейте на это времени.

16. Рефакторинг

Рефакторинг - это изменение кода без потери функциональности. Его также можно применять для улучшения читабельности.Тут нет места исправлению багов или добавлению функциональности. Вы просто немного меняете структуру вашего кода.

Надеюсь, эта статья была вам полезна! Я что-то упустил? Поделитесь вашим опытом!

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

#button { font-weight: bold; border: 2px solid #fff; }

Чтобы получить результат, аналогичный приведенному выше фрагменту, заключите свой код в эти теги:

Ваш код

Параметр «language» определяет язык и правила подсветки синтаксиса. Поддерживаются следующие значения:

  • actionscript3
  • coldfusion
  • csharp
  • delphi
  • erlang
  • fsharp
  • groovy
  • javascript
  • javafx
  • matlab
  • powershell
  • python
  • scala

Если значение параметра «language» не задано, используется значение «text» (без подсветки синтаксиса).
Код между тегами «code» будет автоматически закодирован для отображения, поэтому вам не стоит беспокоиться об элементах HTML или о чем-либо подобном.

Параметры конфигурации

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

  • autolinks (true/false) — Каждый URL в коде отображается как гиперссылка. Значение по умолчанию: true.
  • collapse (true/false) — Если задано значение true, при загрузке страницы область кода будет свернута. Для того, чтобы развернуть ее, нужно будет кликнуть по ней. Это полезно для больших фрагментов кода. По умолчанию задано значение false.
  • firstline (номер) — Определяет, с какого числа начинается нумерация строк. Значение по умолчанию: 1.
  • gutter (true/false) — Если задано значение false, номера строк будут скрыты. Значение по умолчанию: true.
  • highlight (номера, разделенные запятыми) — Номера строк, которые будут выделены, например, «4,7,19».
  • hmtlscript (true/false) — Если задано значение true, выполняется подсветка HTML/XML-кода. Это полезно при публикации смешанного кода, например, PHP внутри HTML. Работает только с некоторыми языками. Значение по умолчанию: false.
  • light (true/false) — Если задано значение true, номера строк и панель инструментов будут скрыты. Это полезно при размещении фрагмента кода из одной-двух строк. Значение по умолчанию: false.
  • padlinenumbers (true/false/целое число) — Позволяет контролировать дополнение номеров строк нулями. Значение true задает автодополнение, значение false отключает дополнение, число задает фиксированное количество знаков для номеров строк.
  • toolbar (true/false) — Если задано значение false, при наведении на код не будет появляться панель инструментов с кнопками. Значение по умолчанию: true.
  • wraplines (true/false) — Если задано значение false, будет отключен перенос строк. При наличии длинных строк появится горизонтальная полоса прокрутки.
  • title (строка) – заголовок для кода. Может быть полезным в сочетании с параметром collapse .

Примеры использования вышеописанных параметров:

Эта строка не выделена. Эта строка выделена. Эта строка выделена. Эта строка не выделена. Это короткий фрагмент кода с дополнением номеров строк нулями до 4 знаков. //В этом примере отключен перенос строк. Чтобы прочитать текст полностью, вам придется воспользоваться полосой прокрутки. Кроме того, в данном примере отключена нумерация строк и спрятана панель инструментов.

А это фрагмент кода побольше. Здесь выбран язык PHP и выделена строка номер 12.

WordPress.com Code Example WordPress.com Code Example Эта строка выделена. Очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень-очень длинная строка. This is an example of smart tabs. WordPress.com

Благодарности
Для реализации данной возможности используется проект SyntaxHighlighter (автор Alex Gorbatchev) . Пользователи могут установить соответствующий