Отключить языковой пакет только для сайта
-
Здравствуйте. Подскажите пожалуйста, как правильно отключить языковой пакет для сайта, но оставить его для админки ?
Нашел вот такой вот вариант
if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU'); else define ('WPLANG', '');
Меня смущает, что если это не админка, то все равно указан адрес языкового пакета, только он пустой. Уверен, что есть более правильное решение.
Спасибо.
-
Пустая строка для
WPLANG
это вполне нормально, но учтите, что подобным образом у вас язык поменяется если в адресной строку присутствует wp-admin, например если вы написали статью и в ее названии встречается wp-admin 🙂Я бы попробовал решить это через плагин с помощью фильтра
locale
и функцииis_admin()
которая грамотно проверяет текущую страницу.Исходя из того, что проект не связан с сайтами и всем вытекающем, в урле wp-admin не должен встретится. По поводу плагинов и функций — тоже не хотелось бы. Чем топорнее вариант, тем лучше.
Плагины это как раз самый верный способ решения 99% задач на WordPress 🙂
Привет, а попробуй такой вариант.
/* * Set English for admin area. */ function ct_change_locale( $locale ) { if ( is_admin() ) { return 'en_US'; } return ''; } add_filter( 'locale', 'ct_change_locale' );
Вот пример откуда я взял идею — Тыц
Отпишись, получилось или нет 🙂
Konstantin Kovshenin, плагины конечно хорошо, когда надо по быстрому расширить функционал, но когда они начинают создавать нагрузку — начинаются пляски с бубном. Собственно отключил перевод на сайте исключительно для снижения нагрузки.
LehaMotovilov, неа, админку не перевел. Но это не главное. Все работает и сейчас, просто хочу понять, правильно ли оно работает или из-под палки ))) Цель сделать все правильно и с минимальным количеством кода )))
Особой разницы между wp-config.php, плагинами или файлом functions.php активной темы нет. PHP он и в африке PHP 🙂
Собственно отключил перевод на сайте исключительно для снижения нагрузки.
Интересное решение отключить перевод для снижения нагрузки. Скажите, о какой посещаемости идет речь и почему вы решили, что именно переводы создают эту нагрузку?
Про PHP согласен, но чем код короче, тем ИМХО лучше ))) А плагины, как показала моя практика, зараза генерируют запросы в БД. Сейчас отрубил все возможные и оставил только основные.
Интересное решение отключить перевод для снижения нагрузки. Скажите, о какой посещаемости идет речь и почему вы решили, что именно переводы создают эту нагрузку?
Посещалка проекта 1к+, на блог приходится примерно 80% от общего трафика, остальной траф берет на себя phpBB, но он юзает ту же БД, что и блог. Надо разносить.
Про нагрузку — по языкового пакета инфа тут: http://ru.forums.wordpress.org/topic/%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0-%D0%B1%D0%B5%D0%B7-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0-wplang?replies=2
При больших скачках трафика хостинг пару раз ругался, пришлось действовать (((
Если вы напишите один и тот же код в wp-config.php и в файл плагина, то дополнительных запросов к БД у вас не появится 🙂
Чем код короче, тем ИМХО лучше
Чем код короче, тем его сложнее читать. Грамотно написанные 1000 строк могут быть куда производительнее, чем кривые и короткие 10 строк.
Если ваш хостинг-провайдер ругается на потребление ресурсов с посещаемостью в 1к, то вам либо пора менять хостинг-провайдера, либо искать причину в кривых плагинах или в теме. Это может быть все что угодно, от внешних HTTP запросов на Twitter API, переполнения планировщика WP_Cron, до безумных запросов и циклов с БД, например для того, чтобы вывести популярные записи.
Плагины Debug Bar, Debug Bar Slow Actions, Core Control помогут найти узкие места, а если есть время то полное профилирование с Xdebug + KCachegrind.
В общем «повышать производительность» WordPress путем отключения языковых пакетов в админке — хак не эффективный, тем более что из ваших 1к скорее всего 90% приходится не в админ-панель 🙂
Мой хак наоборот отрубает языковой пакет в самом блоге, а в админке оставляет, т.к. проект веду в одиночку.
По поводу кода тоже не могу не согласиться, но в программировании все как в русском языке, можно расписать 50 строк, а можно объяснить все в 3-х словах и смысл будет тот же самый. Тут нужен хороший кодер.
Про нагрузку тоже был топик: тут
Плагин генерирует кучу запросов к базе. В некоторых постах около 50% запросов — это его рук дело. Но альтернативу так и не нашел: тут
Это все конечно лирика, но надеюсь, что эти ссылки поднимут старые темы и альтернатива будет найдена.
По поводу тогда подключения пакета только для блога — оставляю как есть, раз больше нет мнений, как это сделать лучше.
Мой хак наоборот отрубает языковой пакет в самом блоге
Это не меняет суть моего ответа.
Не исключает, но если можно сделать что-то для более стабильной и менее ресурсозатратной работы, разве это не надо делать ?
По специфики своей работы я работал со многими CMS и до сих пор не понимаю, почему разработчики WP не сделали нормальную универсальную систему кеширования.
Сейчас у меня стоит задача максимально разгрузить и облегчить свой проект, а потом буду думать о кешировании.
Закрываю тему.
Да, поддерживаю. А то уже один оффтоп пошел )))
- Тема «Отключить языковой пакет только для сайта» закрыта для новых ответов.