Главная 20 Интернет новичку 20 Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

>

Файл functions.php из папки с темой WordPress и реальные примеры его использования

Здравствуйте, уважаемые читатели блога Сегодня хотел объединить в рамках одного поста все варианты использования файла functions.php, которые мне доводилось когда-либо пробовать и которые работают на моем блоге сейчас. Живет этот файл практически в папке каждой темы для Вордпресса, ну, а если его вы там не обнаружите, то не будет проблемой его создать.

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

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

Как вносить изменения в functions.php и все не поломать

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

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



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

Очень неприятное занятие, доложу я вам. Понимать, что вы это уже когда-то сделали, но сейчас не в состоянии вспомнить как. Выбешивает это дело по страшному. А вот с functions.php все шоколадно.

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

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

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

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

Сегодняшняя же публикация станет ее логическим продолжением, ибо functions.php я там не рассматривал.

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



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

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

Замечательно. Я не знаток языка PHP, но все функции, которые вы будете добавлять в этот файл, должны обрамляться конструкцией:

Так же эти самые теги PHP могут стоять в самом начале и в самом конце всего содержимого. Тогда все функции внутри них нужно будет вставлять без указанного обрамления. Я их буду приводить именно в таком виде (разоблаченном). Понятно?

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

Категорически не советую вносить изменения в functions.php через админку Вордпресса (Внешний вид — Редактор — Функции темы).

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

В этом случае у вас не будет возможности отката назад при неудачном эксперименте и не будет подсветки синтаксиса языка PHP, которая при должном навыке сразу же поможет вам понять, что вы делаете что-то не так. Таким способом работать можно, если только у вас по каким-либо загадочным причинам отсутствует доступ к сайту по ФТП.

Для редактирования очень желательно использовать специализированный или же универсальный редактор с подсветкой кода, например, Notepad++, о котором речь шла в этой статье. Замечательная вещь и к тому же бесплатная.



Так, еще не стоит пихать новые функции внутрь уже имеющихся (внутрь фигурных скобок <>). Если сумлеваетесь, то новый блок вставляйте в самом низу, но перед закрывающим PHP тегом:

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

Как вставлять блоки РСЯ и Адсенс с помощью functions.php

Ну, понятно, что вставить блок с рекламой в любое место макета сайта можно будет с помощью шаблонов из папки с вашей темой оформления (single, index, arhive и других). Но как добавить блоки в текст самой статьи?

Например, после всех заголовков, как у меня, ибо после тега More, о котором мы говорили тут. Без functions.php нам в таком случае будет не обойтись.

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

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

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



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

Теперича в нужном месте статьи блога на WordPress достаточно будет вставить обозначенную чуть ниже конструкцию, чтобы на ее месте ваши читатели могли лицезреть блок РСЯ или Адсенса:

Хотите вставлять разные типы объявлений в разные статьи или их места? Создайте в functions.php еще одну такую же функцию, но используйте testovoe_nazvanie2 и adsense2. Все очень просто, но хлопотно, ибо вставлять в каждую статью короткий код утомительно. Нет проблем.

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

Обратите внимание, что h3 вы должны поменять на то, в чем у вас обрамляются подзаголовки статьи (не тот, что вверху, а те что внутри статьи). Кроме этого, цифра 3 ограничивает количество вставок. Т.е. если у меня будет 4 подзаголовка уровня h3 с публикации, то под последним реклама показывать не будет.

Хотите выводить блоки после тега More? Нет проблем. Вставляете

А вот функция от уже упомянутого мною Камы:

Как вы думаете, что она делает. Все очень просто. Отсчитывается нужное число символов (1800 в нашем примере) от начала статьи, и после очередного закрывающего тега абзаца P вставляется РСЯ и Адсенс реклама. Замечательно? Да еще как, особенно если учитывать, что таких функций в functions.php можно добавить сколько надо и для каждой последующей увеличивать отступ в символах, чтобы они равномерно распределялись по статье.



Ну, и до кучи, хотя это не имеет отношения к нашему герою. У меня на главной выводятся блоки после некоторых анонсов статьей. Это реализовано в index.php:

Сам же код рекламного блока живет в файле google_left_kat.php из папки с темой оформления. Сравните этот фрагмент index.php со своим и поймете, что на главной посты выводятся в цикле. Вот мы в него и вклиниваемся, отсчитывая с помощью $loopcounter количество анонсов, которые надо пропустить (2, 4, 7) до вставки рекламного блока. Сам блок позиционируется с помощью CSS.

Другие примеры использования functions.php

В статье про настройку отображения статей в категория Вордпресса я упоминал функцию для functions.php, которая позволяла менять количество выводимых в описании статьи символов при замене the_content на the_excerpt. Если не понятно о чем речь, то смотрите саму статью.

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

А так же приводил пример фрагмента, позволяющего вместо троеточия в конце использовать стандартную ссылку «Читать далее»:

Для моих длинных заголовков я там использовал ограничение количества слов (до 7) в тайтле с помощью замены the_excerpt на:

Ну, а в файл functions.php при этом нужно было добавить такой вот фрагмент:

Все замечательно работает.

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



Стандартный код расшаривания в Твиттер выглядел так:

Я заменил в нем the_title () на trim_title_chars (110, '. '), а в functions.php дописал:

Это ограничило длину отдаваемого в Твиттер тайтла 110 символами. Однако, мне больше понравился вариант задания ограничения в словах с помощью замены the_title () на trim_title_words (7, '. ') и прописывании в нашу палочку-выручалочку следующей функции:

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

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

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

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

Файл из папки с темой WordPress и реальные примеры его использования, создание, продвижение и заработок на сайте

В публикации под названием Оптимизация CSS в Page Speed я приводил пример функции, позволяющей отменить подключение файлов стилей, которые добавляют некоторые плагины в Вордпресс.

Сами стили я переносил в основной файл Style.css из папки с используемой темой, потом узнавал нужные регистры в плагинах и прописывал в functions.php примерно такой код:



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

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

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

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Подборки по теме:

Комментарии и отзывы

Дмитрий, молоток! Как всегда: все и сразу.

От себя могу добавить небольшой «хак», или как это называется. В общем, всем нам знакомо то, как WordPress некорректно отображает кавычки. Во-1 — они угловые, во-2: если взять слово в кавычки, иногда они отображаются в одну и ту же сторону, как перед словом, так и после. Лично меня это очень сильно напрягает. А решение есть очень простое, все через этот же файлик �� В самом конце файла, перед закрывающим тегом прописываем три строки:

Вуаля. Проблем с кавычками больше нет.

Здравствуйте, не подскажете, на счет вывода рекламы в цикле на главной странице, допустим, хочу задать вывод блока див с рекламой адсенс после 4-х анонсов постов на главной странице, мне просто нужно вставить, выводящий код в index.php

после функции и она сама сработает как нужно после 4-го поста, или еще что то нужно добавлять в functions.php? добавил , выдает синтаксическую ошибку, может что то не так делаю. А также можно ли присвоить к каждому выводдимому виджету уникальные id или class. Спасибо!



Хороший материал спасибо.

Спасибо. Долго ломал голову как убрать активные ссылки из комментариев. Оказывается всё очень просто.

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

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

Эдуард и Юрий: не разбираюсь в PHP (только на уровне синтаксиса и «отсюда взять — сюда вставить»). Пробуйте сами или задавайте вопросы профессионалам.

Александр Майер: спасибо большое за кавычки.

Дмитрий, не понял: опять у тебя прямые вхождения внутренних ссылок. Перестал что-ли заменять их на «тут» «здесь» и т.п. ?

Я у себя стал переделывать. не надо что-ли?

Дмитрий, а как вывести код только ПЕРЕД ПОСЛЕДНИМ подзаголовком h2?

Павел: извините, но я так и не собрался с духом более менее серьезно ознакомиться с PHP, поэтому затрудняюсь ответить.

Здравствуйте! У меня случилась проблема с этим файлом. Я установил плагин который будет показывать мои PHP коды в виджетах. Но когда я вставляю свой код PHP

то вместо показа баннера показывается ошибка:

Что мне с этим делать? Помогите пожалуйста!

После фразы «вам там лазить незачем» не стал читать дальше. Бесполезная статья.

Дмитрий! Мне понравилось, как у тебя выводится миниатюры на другие статьи после слов «Читайте также». Подскажите пожалуйста вы их выводите каким-то плагинам? Или ваша сатитья «Как в WordPress можно выводить посты из категории с миниатюрами (их создание в Auto Post Thumbnail и catch_that_image)», как раз и описывает, как сделать, точно такие же миниатюры.



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

* Нажимая на кнопку «Добавить комментарий» или «Подписаться» Вы соглашаетесь с политикой конфиденциальности.

О admin

x

Check Also

Что такое Емайл (E-mail) и почему это называют электронной почтой, создание, продвижение и заработок на сайте

> Что такое Емайл (E-mail) и почему это называют электронной почтой Здравствуйте, уважаемые читатели блога ...

Что такое дроп, дропнутый или освобождающийся домен, создание, продвижение и заработок на сайте

> Что такое дроп, дропнутый или освобождающийся домен Здравствуйте, уважаемые читатели блога Термин Дроп происходит ...

Что такое домены, хостинг, DNS сервера и IP адреса, создание, продвижение и заработок на сайте

> Что такое домены, хостинг, DNS сервера и IP адреса Домены, Ip адреса и связывающие ...

Что такое девайс и чем он отличается от гаджета, создание, продвижение и заработок на сайте

> Что такое девайс и чем он отличается от гаджета Здравствуйте, уважаемые читатели блога В ...

Что такое блог и как его создать на бесплатном движке WordPress, оптимизация и заработок на своем интернет-дневнике, создание, продвижение и заработок на сайте

> Что такое блог и как его создать на бесплатном движке WordPress, оптимизация и заработок ...

Что такое анонимайзеры (Хамелеон, Spools) или как скрыть IP адрес для входа в ВКонтакте, Одноклассники, Ютуб и другие сайты, создание, продвижение и заработок на сайте

> Что такое анонимайзеры (Хамелеон, Spools) или как скрыть IP адрес для входа в ВКонтакте, ...

Что такое URL адреса, чем отличаются абсолютные и относительные ссылки для сайта, создание, продвижение и заработок на сайте

> Что такое URL адреса, чем отличаются абсолютные и относительные ссылки для сайта Здравствуйте, уважаемые ...

Что такое RSS, где скачать иконки и какая читалка самая лучшая, создание, продвижение и заработок на сайте

> Что такое RSS, где скачать иконки и какая читалка самая лучшая Здравствуйте, уважаемые читатели ...

Что такое Rookee и как продвигать сайт в этой системе, создание, продвижение и заработок на сайте

> Что такое Rookee и как продвигать сайт в этой системе? Здравствуйте, уважаемые читатели блога ...

Что такое Joomla, создание, продвижение и заработок на сайте

> Что такое Joomla Свое изучение сайтостроения я начал именно с выяснения вопроса: Что такое ...

Что такое ICQ, как его установить и пользоваться, создание, продвижение и заработок на сайте

> Что такое ICQ, как его установить и пользоваться? Здравствуйте, уважаемые читатели блога Не будем ...

Что такое DNS и как ДНС-сервера обеспечивают работу интернета, создание, продвижение и заработок на сайте

> Что такое DNS и как ДНС-сервера обеспечивают работу интернета Здравствуйте, уважаемые читатели блога О ...

Что такое cookie и как почистить куки в современных браузерах, создание, продвижение и заработок на сайте

> Что такое cookie и как почистить куки в современных браузерах Здравствуйте, уважаемые читатели блога ...

Что такое Chmod, какие права доступа назначать файлам и папкам (777, 755, 666) и как это сделать через PHP, создание, продвижение и заработок на сайте

> Что такое Chmod, какие права доступа назначать файлам и папкам (777, 755, 666) и ...

Что мешает SEO-продвижению вашего сайта и как это исправить

> Что мешает SEO-продвижению вашего сайта и как это исправить — 10 основных ошибок и ...

Что значит смайлик написанный символами

> Что значит смайлик написанный символами — значения обозначений и расшифровка текстовых смайлов Здравствуйте, уважаемые ...

Что главное в блоге? Фото, создание, продвижение и заработок на сайте

> Что главное в блоге? Фото! Здравствуйте, уважаемые читатели блога Итак, у вас есть блог, ...

Целесообразно ли автоматизировать SEO продвижение, создание, продвижение и заработок на сайте

> Интересно ваше мнение. Здравствуйте, уважаемые читатели блога Целесообразно ли автоматизировать SEO продвижение? Я решил ...

Хроники первого года &laquo;бессылочной&raquo; эпопеи Яндекса, создание, продвижение и заработок на сайте

> Хроники первого года «бессылочной» эпопеи Яндекса Здравствуйте, уважаемые читатели блога Говоря о новых тенденциях ...

Хостинг и все что с ним связано, работа с cPanel, создание, продвижение и заработок на сайте

> Хостинг и все что с ним связано, работа с cPanel Хотел в этом посте ...

Хостинг и VPS в InDeepSky

> Хостинг и VPS в InDeepSky — гарантированный аптайм 99,98%, установка CMS в один клик, ...

Хороший и стабильный хостинг от WebStix

> Хороший и стабильный хостинг от WebStix — без ограничений на количество сайтов, с SSD ...

Хлебные крошки в Вордпресс без плагинов, создание, продвижение и заработок на сайте

> Хлебные крошки в Вордпресс без плагинов Здравствуйте, уважаемые читатели блога Сегодня хочу рассказать про ...

Хлебные крошки в WordPress средствами плагина Breadcrumb NavXT (усиливаем перелинковку), создание, продвижение и заработок на сайте

> Хлебные крошки в WordPress средствами плагина Breadcrumb NavXT (усиливаем перелинковку) Здравствуйте, уважаемые читатели блога ...

Рейтинг@Mail.ru