Страничное кеширование в WordPress

В последнее время на Хабре появилось довольно много постов по данной теме, но по своей сути их можно назвать: «Смотрите, я поставил Varnish / W3 Total Cache и держу миллион запросов на «Hello world» страничке». Данная же статья рассчитана больше на гиков, желающих познать, как же это все работает и написать собственный плагин для страничного кеширования.

Зачем?

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

Continue reading «Страничное кеширование в WordPress»

10 трюков для улучшения безопастности WP-сайта

  1. Используйте защиенный хостинг
  2. Обновляйтесь до последней версии
    Каждый новый релиз WordPress содержит в себе изменения касающиеся безопастности данной. Тот же принцып относится и к плагинам/темам…
  3. Используйте сложные пароли
  4. Никогда не используйте на продакшене имя пользователя — admin
  5. Не добавляйте имя пользователя в URL архива статей пользователя
  6. Ограничте количество попыток авторизации. Это можно сделать с помощью этого плагина
  7. Отключите возможность редактирования файлов с помощью встроеного редактора WP. Сделать это можно добавив следующий код в wp-config.php:
    define( ‘DISALLOW_FILE_EDIT’, true );
  8. Старайтесь избегать бесплатных тем
  9. Делайте резервные копии
  10. Используйте плагины, предназначеные для контроля и улчшения безопастности сайта. Вот несколько популярных плагинов:

Ошибки WordPress и методы их устранения

Общие рекомендации:

  • Не устанавливайте плагины, если не уверены в их надежности. Репозиторий WordPress и Codecanyon(магазин плагинов и скриптов)
  • Обновляйте WordPress. Разработчики не только исправляют ошибки, но и вносят некоторые дополнения, меняют механизмы ядра.
  • Не ставьте экспериментов на работающем сайте. Это убережет ваши нервы от стресса, а ваш сайт от ошибок и неполадок.
  • Делайте резервные копии. Это вообще краеугольный камень не только веб-разработки, но и любой деятельности, связанной с компьютерами.

Continue reading «Ошибки WordPress и методы их устранения»

Секреты WP_Query

Начнём с простого — коротко о WP_Query. Это класс, который позволяет нам получать контент из базы данных WordPress. Есть так же глобальный объект этого класса, который называется $wp_query, но о нём чуть позже. Чаще всего мы рабоаем с WP_Query через следующие конструкции:

if ( have_posts() )
    while ( have_posts() )
        the_post();

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

query_posts( 'cat=-5' );
$posts = get_posts( 'cat=-5' );
$posts = new WP_Query( 'cat=-5' );

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

Continue reading «Секреты WP_Query»

Использование WP_Query в WordPress

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

Что же такое WP_Query и с чем его едят?

Continue reading «Использование WP_Query в WordPress»

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

Вот отличный скринкаст на тему создания адаптивной темы для блога на WordPress

WordPress Settings API

Иногда (очень редко), нужно добавить на стандартные страницы настроек WordPress кастомные поля настроек… Так вот, оказывается в WordPress для этого реализовано Settings API. Описывать здесь я его не буду, но ссылку оставлю)

Использование шаблонов в собсвенном плагине

При разработке плагинов для WordPress часто приходит время создания кастомных типов постов, мы всегда сталкиваемся с одной и той же проблемой — нам нужно создавать кастомный шаблон single-[cpt_slug].php, если мы не хотим использовать стандартный.

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

Continue reading «Использование шаблонов в собсвенном плагине»