Где находится functions php: Файл functions.php шаблона WordPress | Жизнь с WordPress – Файл functions.php в WordPress — назначение, правка, примеры

Содержание

Functions.php в WordPress - правильное использование

Что такое functions.php

Это главный файл в вашей теме WordPress. Располагается в /wp-content/themes/{тут название вашей темы}/functions.php.
В нём определяются важные свойства темы, кастомизируются хуки, внешний вид и её функциональность, а также добавляются некоторые необходимые вам функции. Этот файл загружается каждый раз при открытии любой страницы WordPress, поэтому с его помощью можно изменить любой элемент сайта. В связи с этим, многие советы а-ля «как изменить что-то в WordPress без плагинов» часто касаются именно внесения изменений в functions.php, вместо того, чтобы создать под этот функционал отдельный плагин или воспользоваться готовым решением. Зачастую это приводит к информационной перегрузке этого файла, код становится тяжело разобрать, а внести исправления ещё сложнее. Но не это самое опасное. Самое опасное — это то, что при смене активной темы пропадёт часть или весь необходимый функционал сайта.

Чем отличается functions.php от плагина

Ничем. По своей сути, functions.php и есть эдакий глобальный неотключаемый плагин, который привязан к текущей теме. Как он подключается в WordPress, можно посмотреть в wp-settings.php. Как видно из исходного кода, его загрузка происходит после всех плагинов, однако, это не даёт никаких недостатков или преимуществ, разве что возможность переопределить что-то в подключенных плагинах. На скорость исполнения кода это также никак не повлияет. Влияет только содержание плагинов и functions.php. Поэтому, будьте внимательны при выборе активных плагинов для своей темы и откажитесь от ненужных, малополезных вам, тогда вы сможете облегчить ваш сайт и ускорить его работу.

Когда нужно использовать functions.php

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

К примеру, это может быть

  • Настройка миниатюр
  • Установка размеров сайдбаров
  • Настройка мест под виджеты
  • Объявление мест под навигационное меню
  • Настройки темы
  • Дополнительные функции вашей темы

Когда стоит избегать использования functions.php

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

Сюда можно отнести:

  • Определение счётчиков посещаемости (Google Analytiсs, Yandex.Metrika, Liveinternet)
  • Настройка дополнительного функционала админки (например, дополнительные кнопки в текстовый редактор)
  • Конфигурирование исходного кода (убрать лишнее из кода: ссылки на RSS, wlwmanifest, xmlrpc, generator, т.д.)
  • Определение шорткодов
  • Регистрация произвольных типов записей и произвольных таксономий
  • Отключение функций pingback/trackback, ревизий, JSON REST API, Emoji

Списки неполные, вы можете определить их содержание сами под себя.

Куда внести данный код, если не в functions.php? Вы можете написать специальные плагины под них, однако, есть способ интереснее и проще.

mu-plugins как альтернатива functions.php

К нам в современные версии WordPress из WordPress MU(Multi-User) пришёл интересный функционал, называемый MU Plugins. Суть его заключалась в следующем. Администратору WordPress MU порой требовалось определить плагины для всей сети сайтов. Обычным функционалом этого было не добиться, поэтому ввели специальный раздел:

/wp-content/mu-plugins/, где они и определялись. Ещё что интересно, файлы плагинов из этой директории загружаются раньше всех остальных, что даёт возможность предопределить некоторые константы или настройки.
Позже WPMU упразднили, его код интегрировали с основным блоговым, и теперь любой WordPress может использовать функционал MU-plugins, который теперь расшифровывается как Must Use, то есть обязательный к использованию.

Как использовать mu-plugins

Вначале нужно создать специальный раздел /wp-content/mu-plugins/
В него мы помещаем нужные файлы-плагины. В отличие от обычных плагинов, здесь не нужно выдерживать специальный син

WordPress Файл function.php. Настройка - Codemagazine

Что такое файл functions.php. Какое значение он имеет в WordPress теме и как его использовать. Зачем он нужен и как найти его на своем сайте. Файл functions.php или файл функций темы — это файл, используемый темами WordPress. Он действует как плагин и автоматически загружается как на админ, так и на интерфейсные страницы сайта WordPress.

 

Что такое файл functions php в WordPress

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

 

Смотрите также:
WordPress лендинг шаблоны. WordPress landing page темы.

Как создать шаблон страницы в WordPress. WordPress код страницы

Бесплатные WordPress шаблоны. Бесплатные шаблоны вордпресс

Бесплатные WordPress шаблоны. Лучшие бесплатные WordPress темы

Платные шаблоны WordPress. Купить шаблоны WordPress.

WordPress блог темы. Шаблоны блога WordPress.

WordPress шаблоны для портфолио. WordPress портфолио темы.

 

Где находится файл functions php в WordPress

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

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

Важно отметить сходство между файлом functions.php и файлом плагина.

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

 

 

Полезная информация по файлу functions.php

Hosting CityHost

Одной из самых частых ошибок начинающих разработчиков WordPress — это использование файла темы functions.php не по назначению. В данной статье мы раскроем все мифы о данном файле и расскажем в каких случаях стоит его использовать.

Что такое functions.php

Если вы хоть раз открывали исходный код любой темы для WordPress, вероятно вы сталкивались с файлом под названием functions.php.

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

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

К сожалению многие уроки WordPress в сети Интернет (серии «без плагинов») предлагают вставлять блоки кода именно в файл functions.php активной темы, потому что редактировать этот файл легче, чем создавать новый плагин, особенно через редактор файлов в панели администрирования WordPress.

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

Чем functions.php отличается от плагина

Если коротко — то ничем.

Если взглянуть на порядок загрузки ядра WordPress в файле wp-settings.php, то мы увидим что файл functions.php активной темы загружается немного позднее всех активных плагинов, но данный порядок не дает каких-либо преимуществ или недостатков. А содержание файла functions.php и файлов плагинов подключаются и выполняются идентичным образом.

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

Мифы о производительности functions.php

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

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

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

Когда следует использовать functions.php

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

  • Установление ширины содержимого в WordPress
  • Объявление доступных разделов для виджетов в теме
  • Установление пути к файлам локализации темы
  • Объявление поддержки миниатюр и их размеры
  • Объявление поддержки навигационного меню в теме
  • Подключение требуемых скриптов и стилей для темы
  • Подключение стилей темы для визуального редактора
  • Создание раздела с настройками темы
  • Создание дополнительных элементов управления в конфигураторе темы
  • Дополнительные функции используемые в шаблонах темы

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

не стоит хранить в functions.php:

  • Код счетчиков Google Analytics или Яндекс.Метрики
  • Произвольные типы записей или таксономии в WordPress
  • Дополнительные скрипты и стили, не связанные с темой
  • Дополнительные роли и привилегии
  • Код для вставки рекламных баннеров в содержимое сайта
  • Отключение RSS лент
  • Скрытие версии ядра WordPress (этого делать вообще не стоит)
  • Скрытие верхнего меню администрирования WordPress
  • Отключение ревизий записей
  • Отключение функций pingback/trackback
  • Любые шорткоды

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

Как создать свой плагин

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

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

<?php
/**
 * Plugin Name: Моя альтернатива файлу functions.php
 */

// Ваш код здесь

Сохраните этот файл под названием my-functions.php и разместите его в директории wp-content/plugins. После этого перейдите в раздел Плагины в панели администрирования WordPress и активируйте его.

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

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

mu-plugins как альтернатива

В WordPress есть специальный вид плагинов, которые называются «must use» или mu-plugins. Эти плагины активны по умолчанию, и деактивировать их через панель администрирования возможности нет. В mu-plugins также отсутствует требование к заголовку PHP файла (Plugin Name и т.д.), поэтому код можно писать сразу после открытия тега

<?php.

Подобные плагины необходимо размещать в директории wp-content/mu-plugins. Если такая директория у вас отсутствует, вы можете ее создать.

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

Так что в следующий раз, когда вы наткнетесь на статью про WordPress из серии «как сделать … без плагинов», не спешите вставлять код в файл темы functions.php — возможно данный код имеет смысл хранить именно в виде плагина.

Источник – https://wpmag.ru/2014/functions-php/

functions.php — используем правильно | WPNICE

Привет. Предлагаю всем читателям сегодня еще раз вернуться к теме о внесении изменений в файл functions.php, а вернее, поговорить о том,  как это следует делать правильно.

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

Что такое functions.php?

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

Почему это плохая идея — всегда использовать functions.php

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

Давайте начнем с причины #1:

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

Причина #2 – даже если вы правильно используете дочернюю тему для functions.php, что случится, если вам захочется сменить активную тему? Я надеюсь, вы задокументировали все, что когда-либо добавляли в ваш файл functions.php, потому что без этого, смена темы может стать большой головной болью.

Причина #3 – если вы когда-либо добавляли в ваш functions.php такой код, который приводил к полному падению инсталляции  WordPress, вы знаете, что надо получить доступ к сайту по FTP, скачать  ваш functions.php, удалить злосчастный код и загрузить его обратно. Это раздражает, когда есть более просто способ решить подобную проблему.

Так, когда же вы должны использовать functions.php?

Даже правильное использование functions.php в вашей дочерней теме не всегда удачная идея.

Если вы добавляете твики, которые на 100% специфичны для вашей темы, то смело добавляйте их в functions.php (в дочерней теме!!). Вот несколько примеров, когда этот способ прокатит:

  • Добавление второй страницы стилей для вашей темы
  • Изменение длины цитат для лучшего соответствия вашей специфичной теме
  • Добавление шрифтов, которые специфичны для данной темы
  • Добавление файла перевода

Базово, каждый раз, когда вы добавляете, удаляете или модифицируете что-то 100% специфичное вашей теме, то можно сосредоточиться на  functions.php вашей дочерней темы.

…и когда использование  functions.php – это плохая идея?

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

  • Создание кастомного виджета, который вы будете использовать снова и снова
  • Добавление чего-то независимого от темы, типа кода Google Analytics
  • Создание кастомного  шорткода

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

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

Чтоб создать плагин, куда можно помещать сниппеты кода, все, что вам нужно, это сделать это:

  • Создайте.php-файл с небольшим количеством предложенного мной кода
  • Создайте .zip-файл, содержащий .php-файл
  • Установите и активируйте плагин, как и любой другой

Да, это реально просто. Давайте начинать.

Шаг 1: создайте PHP-файл и добавьте код

Чтоб начать, откройте редактор текста, типа Блокнота. Затем добавьте этот код в чистый документ:

<?php
/*
Plugin Name: Colin Custom Functions
*/
/* Add Your Code Snippets Below This Line. Make Sure to Document What they Do With Comments Like This */
?>

Конечно, вы можете назвать файл, как хотите. В конце концов, результат должен выглядеть вот так:

Затем, сохраните файл, как-то так: colin-custom-functions.php. Называйте, как хотите, лишь бы имя было уникальным, чтоб WordPress не перепутал его с уже установленным ранее одноименным плагином.

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

Шаг 2: Создайте  .zip файл

Теперь вам нужно создать .zip-файл, содержащий файл, который вы только что создали. Если вы используете Windows, вот как вы можете это сделать:

Шаг  3: Устанавливаем наш плагин, как любой другой

Теперь просто загрузите ваш .zip-файл, проделав путь Плагины  → Добавить новый  → Загрузить плагин:

После активации, вы должны увидеть его в списке ваших плагинов:

Добавление ваших сниппетов кода

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

К примеру, вот как будет выглядеть шорткод “Hello World!”:

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

Чтоб создать комментарий, используйте следующий синтаксис: /* ВАШ КОММЕНТАРИЙ */.

Затем вы можете загрузить файл по FTP, переписав существующий файл. Или вы можете удалить существующий плагин  и установить на его место новую версию.

Как еще можно избежать использования functions.php
Если вы все же не решились еще на создание собственного плагина, то можете просто использовать плагин, который называется Code Snippets

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

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

Источник

По теме:

Как создать плагин WordPress

Как лучше всего добавить свой код в WordPress

Вся правда о functions.php - WP Magazine

Одной из самых частых ошибок начинающих разработчиков WordPress — это использование файла темы functions.php не по назначению. В данной статье мы раскроем все мифы о данном файле и расскажем в каких случаях стоит его использовать.

Что такое functions.php

Если вы хоть раз открывали исходный код любой темы для WordPress, вероятно вы сталкивались с файлом под названием functions.php.

Файл functions.php

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

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

К сожалению многие уроки WordPress в сети Интернет (серии «без плагинов») предлагают вставлять блоки кода именно в файл functions.php активной темы, потому что редактировать этот файл легче, чем создавать новый плагин, особенно через редактор файлов в панели администрирования WordPress.

Редактор файлов темы в WordPress

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

Чем functions.php отличается от плагина

Если коротко — то ничем.

Если взглянуть на порядок загрузки ядра WordPress в файле wp-settings.php, то мы увидим что файл functions.php активной темы загружается немного позднее всех активных плагинов, но данный порядок не дает каких-либо преимуществ или недостатков. А содержание файла functions.php и файлов плагинов подключаются и выполняются идентичным образом.

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

Мифы о производительности functions.php

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

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

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

Когда следует использовать functions.php

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

  • Установление ширины содержимого в WordPress
  • Объявление доступных разделов для виджетов в теме
  • Установление пути к файлам локализации темы
  • Объявление поддержки миниатюр и их размеры
  • Объявление поддержки навигационного меню в теме
  • Подключение требуемых скриптов и стилей для темы
  • Подключение стилей темы для визуального редактора
  • Создание раздела с настройками темы
  • Создание дополнительных элементов управления в конфигураторе темы
  • Дополнительные функции используемые в шаблонах темы

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

  • Код счетчиков Google Analytics или Яндекс.Метрики
  • Произвольные типы записей или таксономии в WordPress
  • Дополнительные скрипты и стили, не связанные с темой
  • Дополнительные роли и привилегии
  • Код для вставки рекламных баннеров в содержимое сайта
  • Отключение RSS лент
  • Скрытие версии ядра WordPress (этого делать вообще не стоит)
  • Скрытие верхнего меню администрирования WordPress
  • Отключение ревизий записей
  • Отключение функций pingback/trackback
  • Любые шорткоды

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

Как создать свой плагин

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

<?php
/**
 * Plugin Name: Моя альтернатива файлу functions.php
 */

// Ваш код здесь

Сохраните этот файл под названием my-functions.php и разместите его в директории wp-content/plugins. После этого перейдите в раздел Плагины в панели администрирования WordPress и активируйте его.

Собственный плагин для WordPress

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

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

mu-plugins как альтернатива

В WordPress есть специальный вид плагинов, которые называются «must use» или mu-plugins. Эти плагины активны по умолчанию, и деактивировать их через панель администрирования возможности нет. В mu-plugins также отсутствует требование к заголовку PHP файла (Plugin Name и т.д.), поэтому код можно писать сразу после открытия тега <?php.

Подобные плагины необходимо размещать в директории wp-content/mu-plugins. Если такая директория у вас отсутствует, вы можете ее создать.

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

Так что в следующий раз, когда вы наткнетесь на статью про WordPress из серии «как сделать … без плагинов», не спешите вставлять код в файл темы functions.php — возможно данный код имеет смысл хранить именно в виде плагина.

8 хуков для functions.php, необходимых каждому сайту на WP

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

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

1. Склонение дат на сайте

Если вы хотите, чтобы вместо «Опубликовано 31 Декабрь 2013» у вас отображалось «Опубликовано 31 декабря 2013», тогда этот хук обязателен к установке:

function true_russian_date_forms($the_date = '') {
	if ( substr_count($the_date , '---') > 0 ) {
		return str_replace('---', '', $the_date);
	}
	// массив замен для русской локализации движка и для английской
	$replacements = array(
		"Январь" => "января", // "Jan" => "января"
		"Февраль" => "февраля", // "Feb" => "февраля"
		"Март" => "марта", // "Mar" => "марта"
		"Апрель" => "апреля", // "Apr" => "апреля"
		"Май" => "мая", // "May" => "мая"
		"Июнь" => "июня", // "Jun" => "июня"
		"Июль" => "июля", // "Jul" => "июля"
		"Август" => "августа", // "Aug" => "августа"
		"Сентябрь" => "сентября", // "Sep" => "сентября"
		"Октябрь" => "октября", // "Oct" => "октября"
		"Ноябрь" => "ноября", // "Nov" => "ноября"
		"Декабрь" => "декабря" // "Dec" => "декабря"
	);
	return strtr($the_date, $replacements);
}
 
// если хотите, вы можете приминить только некоторые из фильтров
add_filter('the_time', 'true_russian_date_forms');
add_filter('get_the_time', 'true_russian_date_forms');
add_filter('the_date', 'true_russian_date_forms');
add_filter('get_the_date', 'true_russian_date_forms');
add_filter('the_modified_time', 'true_russian_date_forms');
add_filter('get_the_modified_date', 'true_russian_date_forms');
add_filter('get_post_time', 'true_russian_date_forms');
add_filter('get_comment_date', 'true_russian_date_forms');

Функция склонения дат будет работать как для постов и страниц, так и для комментариев WordPress.

2. Сообщения об ошибках при попытке авторизации пользователя на сайте

Если при авторизации допустить ошибку при вводе логина или пароля, WordPress указывает, что именно было введено неправильно. Например «ОШИБКА: Неверное имя пользователя.» или «ОШИБКА: Введённый вами пароль пользователя admin неверен.»

Для того, чтобы WordPress не сообщал лишней информации, мы на оба случая сделаем общее сообщение об ошибке, вставив следующий код в functions.php.

function true_change_default_login_errors(){
	return '<strong>ОШИБКА</strong>: Вы ошиблись при вводе логина или пароля.';
}
 
add_filter( 'login_errors', 'true_change_default_login_errors' );

Подробнее о замене сообщений об ошибках вы можете почитать здесь.

3. Защита от вредоносных URL-запросов

if (strpos($_SERVER['REQUEST_URI'], "eval(") ||	strpos($_SERVER['REQUEST_URI'], "CONCAT") || strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||	strpos($_SERVER['REQUEST_URI'], "base64")) {
	@header("HTTP/1.1 400 Bad Request");
	@header("Status: 400 Bad Request");
	@header("Connection: Close");
	@exit;
}

4. Защита от автоматического спама

Отлично борется с автоматическим спамом, результат — менее 5 спамных комментариев в месяц. Хочу обратить внимание, что прежде, чем вставлять этот хук в ваш functions.php, вы должны добавить скрытое поле в форму комментирования на сайте, иначе вообще никакие комментарии проходить не будут. Читайте подробнее здесь.

function true_stop_spam( $commentdata ) {
	$fake = trim($_POST['comment']); // обычное поле комментирования мы скроем через CSS
	if(!empty($fake)) // заполнение его роботами будет приводить к ошибке, комментарий отправляться не будет
		wp_die('Спамный коммент!'); 
	$_POST['comment'] = trim($_POST['true_comment']); // затем мы присвоим ему значение поля комментария, которое для людей
	return $commentdata;
}
 
add_filter('pre_comment_on_post', 'true_stop_spam');

5. Скрываем имена пользователей из HTML-кода комментариев

Этот хук позволит удалить все имена пользователей из CSS-классов комментариев. Если же у вас стили комментария администратора отличаются от стилей остальных комментов, то благодаря этому хуку вы также можете добавить какой-нибудь особенный класс именно для администратора сайта. Читайте подробнее здесь.

function true_remove_css_class( $classes ) {
	foreach( $classes as $key => $class ) {
		if(strstr($class, "comment-author-")) {
			unset( $classes[$key] );
		}
	}
	return $classes;
}
add_filter('comment_class', 'true_remove_css_class');

6. Запрет пингбэков и трэкбэков на самого себя

После добавления этого кода в functions.php, трэкбэки больше не будут появляться, когда вы будете ссылаться на другие посты вашего сайта.

function true_disable_self_ping( &$links ) {
	foreach ( $links as $l => $link )
		if ( 0 === strpos( $link, get_option( 'home' ) ) )
 			unset($links[$l]);
}
 
add_action( 'pre_ping', 'true_disable_self_ping' );

7. Скрываем версию WordPress

По умолчанию можно узнать версию установленного на сайте WordPress, заглянув в исходный HTML-код или в код RSS. Для того, чтобы не предоставлять злоумышленникам лишней информации, вставляем это в funcions.php:

function true_remove_wp_version_wp_head_feed() {
	return '';
}
 
add_filter('the_generator', 'true_remove_wp_version_wp_head_feed');

Подробнее здесь.

8. Ставим ссылку на себя в футере в админке

Если вы сделали кому-то сайт, то в футер можно добавить ненавязчивое сообщение, что разработкой занимались вы.

function true_change_admin_footer () {
	$footer_text = array(
		'Спасибо вам за творчество с <a href="http://wordpress.org">WordPress</a>',
		'Разработал <a href="https://misha.blog" target="_blank">Миша Рудрастых</a>'
	);
	return implode( ' • ', $footer_text);
}
 
add_filter('admin_footer_text', 'true_change_admin_footer');

В итоге получим:

Ссылка в футере в админке

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *