Мультилингвальный Wordpress

Сайтик один кАвыряю. Решил выяснить как оно – переводить сайт на основе Wordpress (при использовании его не как блог а как CMS). Из всех плагинов большего всего мне понравился Gengo. Но установив версию 0.81 выяснилось что она не коректно работает с Worpress 2.1 и выше. Разработчик в лихорадочном порядке пишет новую 0.9 Бета версию которая уже нормально работает с последней версией WP.

Один из багов Gengo – перестаёт работать Static Front Page в стандартной установке WP 2.1 и выше. Т.е. на первой странице загружается блог, а не выбраная статичная страница.

Порылся ещё, нашёл Semilogic Static Front Page Plugin, который заменяет стандартную функцию. После активации плагина статичная страница с Page Slug – "home" становится стартовой, а страница со slug’ом "blog" подцепляет темплейт blog.php и отображает сам блог. Вот в этом blog.php есть косяк. Поскольку существет несколько языков и соответственно столько же страниц, то slug у всех будет разный.

Вооружившись notepad++’ом, с боевым кличем я рванулся в код плагина. Открыл файл sem_static_front.php, нашёл функцию в которой определяется по slug’у какой странице прикручивать темплейт blog.php. Но так как я в программировании не дальше гостевой книги, призвал на помощь Андрея, который изменил 165 строчку

&& ( get_query_var('pagename') == $params['blog_slug']"
на

&& (  strpos( get_query_var('pagename'), $params['blog_slug'] ) === 0
В итоге мы имеем возможность создавать страницы для всех языков которые будут содержать блог, но обязательно указываем slug начинающийся на "blog". Например, английский вариант будет "blog-en", а испанский "blog-es" или просто "blog-2", "blog-3", "blog-4" и т.д. Главное чтобы начиналось на "blog".

Сам движок Gengo интуитивно-понятный и в описании не нуждается. По информации разработчика в 0.9 версии эти баги будут ликвидированы.

Дата: 15.03.2007
»
Google     

Напишите комментарий