Добрый день уважаемые знатоки wordpress!
Вот столкнулся с проблемой… мой сайт черезмерно нагружал хостинг и нам прямым текстом сказали сворачиваться.
Подключив к работе нескольких знакомых начали разбираться как и почему происходит огромная нагрузка на сервер.
Оказалось что движок генерирует массу интересных запросов.
Например:
У меня на сайте выводится 15 новостей в формате
Заголовок = ссылка на статью
Анонс статьи (то что до more)
При просмотре лога базы оказалось что wordpress сразу загружает весь текст статьи уже на этом этапе, так что получается у меня кроме всего прочего из базы каждый раз выгружается полная информация о 15 статьях включая их содержание.
Подумав решили что нам в принципе не надо выгружать содержание статьи при выводе их списком (можно ведь анонс статьи вписывать в поле post_excerpt) и полезли в код…
версия wordpress 2,2,3.
файл \wp-includes\query.php
Заменяем строку
$fields = apply_filters('posts_fields', "$wpdb->posts.*");
на
$fields = "ID, post_author, post_date, post_date_gmt, post_title, post_category, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count";
а строку
$request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby ORDER BY $orderby $limits";
на
$request = " SELECT $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby ORDER BY $orderby $limits";
теперь мы выгружаем все данные кроме поля post_content таблицы wp_posts
на данном этапе вроде все нормально, но вот возникла проблема этот же запрос используется для выведения статьи… соответственно текста статьи мы не видим…
Отсюда вопрос- может кто-то уже с этим сталкивался и знает решение?
Заранее спасибо за любую помощь.