8 вещей, которые должен знать каждый разработчик WordPress

8 вещей, которые должен знать каждый разработчик WordPress

Автор: в Wordpress Дата: Июнь 10, 2013

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

1. Не используйте query_posts ()

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

Короче говоря, WordPress загрузит основные запросы ДО вызова файлов шаблона, так что если вы вызываете query_post () в файле index.php, то вы вызываете 2 запроса, так как первый был уже вызван. И если вы учитываете фоновые (background) запросы, то на самом деле их 8 (так как каждый WP_Query загружает 4 запроса: вызов сообщений(call posts), посчитать сообщения (count post), вызов метаданных (call metadata), вызов выражений(call terms)).

Что вы должны делать:

  • Используйте WP_Query объект всякий раз, когда вам нужно несколько циклов(loops) на странице.
  • Используйте pre_get_posts фильтр, если вам нужно изменить основной цикл(loop). Если вам нужно изменить основной цикл WordPress (в значительной степени это то, где вы будете использовать query_posts) просто выбирите pre_get_posts фильтр поскольку он изменяет непосредственно главный WP_Query объэкт (вместо того, чтобы получать новый запрос БД).
  • Используйте get_posts (), если вам не нужны циклы.

2. Всегда ставьте в очередь ваши скрипты и стили

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

Простое решение предоставлено в wp_enqueue_script функции, где вы можете загрузить (и зарегистрировать) библиотеку или скрипт и убедитсья в том, что вы загружаете только одну копию. Это же правило относится к стилям, но они не вызовут много повреждений. Это хороший вариант для загрузки стандартных стилей, таких как стилизация для JQuery плагинов, или CSS для HTML bootstraps.

3. Кэшируйте свои вещи

Если вы разработчик плагина вы должны знать переходные API. Они позволяют сохранять “Опции” на небольшое количество времени. Самое замечательное это то, что можно кэшировать к ней весь запрос. Итак, если ваш блог обновляется раз в день вы можете установить переходной,  срок действия которого истекает каждые 12 часов или меньше.

4. Знайте ваши фиды

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

  • Главное - site.com/feed
  • Основные комментарии - site.com/comments/feed
  • Пост комментарии - site.com/post-name/feed
  • Категории и теги - site.com/category/categoryname/feed or site.com/tag/tagname/feed
  • Вы также можете включить / исключить категории - site.com/?cat=42,25,17&feed=rss2 or this site.com/?cat=-123&feed=rss2
  • Автор - site.com/author/authorname/feed/
  • Поиск - site.com/?s=searchterm&feed=rss2
  • Пользовательский тип записи - site.com/feed/?post_type=yourposttype
  • Таксономии - site.com/feed/?post_type=custom_post_type_name&taxonomy_name=taxonomy

5. Как добавить обработанное (featured) изображение в фид

Следующий код довольно прост, но дает хороший конечный результат (особенно если ваши пользователи работают с хорошим RSS Reader, как Feedly, который отображает основные изображения). Этот код позаботится об этом(в файле функций):

function featured_image_in_feed( $content ) {

    global $post;

    if( is_feed() ) {

        if ( has_post_thumbnail( $post->ID ) ){

            $output = get_the_post_thumbnail( $post->ID, 'medium', array( 'style' => 'float:right; margin:0 0 10px 10px;' ) );

            $content = $output . $content;

        }

    }

    return $content;

}

add_filter( 'the_content', 'featured_image_in_feed' );

6. Оптимизируйте БД

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

7. Включите GZIP

Представьте себе, как было бы здорово, если бы вы могли сжимать файлы вашего сайта перед отправкой их к пользователю? Ну, с серверными GZIP вы можете это сделать и довольно просто. Добавьте этот фрагмент в файл Htaccess:

#Gzip

<ifmodule mod_deflate.c>

AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript text/javascript

</ifmodule>

#End Gzip

8. Для всего есть плагин

Даже если вы не являетесь разработчиком, вы всегда можете улучшить эффективность вашего веб- сайта с плагинами для кэширования, плагинами по оптимизации БД, минимизирующие CSS и JS плагины.

Автор Юлия Микута

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