qTranslate и All-in-One SEO Pack: бъг в Menu Label и решението му

Ако вашият сайт е на WordPress и използвате така популярния оптимизационен плъгин All-in-One SEO Pack, то вероятно използвате и възможността, която AIOSEO предоставя за страници: да зададете различно име на страницата, което да се използва за нея в менютата. Една полезна функция, наистина, особено ако името на страницата ви е по-дълго и не се вписва добре в структурата на вашето меню, а същевременно не бихте искали да го променяте и лишите от присъствието в него на важни ключови думи.


В мултиезичните сайтове на УърдПрес, ползващи qTranslate, обаче, при използване на тази опция на All-in-One SEO Pack, се забелязва малък проблем: след въвеждане на информация в полето Menu Label, както и в Title Attribute, после в сайта тази информация не се показва филтрирана, според езика, на който се гледа и не само това, но се вижда и езиковия код за различните езици.

Въвеждането на желаното по-кратко име за всеки отделен език става с използването на кратък код, определящ за кой език е информацията, въведена след него. Така, въвеждайки: [:bg]Страница[:en]Page, би трябвало в нашето меню, когато гледаме сайта на български, да видим за име на нашата страница "Страница", а при зареждането му на английски - "Page". Поради малък бъг (недостатък) в All-in-One SEO Pack, обаче, независимо на кой език ще заредим сайта, в менюто ни ще виждаме друго, а именно: [:bg]Страница[:en]Page. Вие имате ли този проблем? Е, по-долу е неговото решение.

Отстраняване на проблема с Menu Label при използване на All-in-One SEO Pack заедно с qTranslate

За щастие, решението на проблема е сравнително леко. Нужно е само да имате достъп до редактора на разширения в админ панела на УърдПрес или ftp достъп до сървъра на сайта си.

В първия случай, отидете на Разширения -> Редактор (Editor), от падащото меню вдясно изберете All-in-One SEO Pack и натиснете бутон "Избор".

Във втория, влезте в директорията на плъгина (папка wp-content/plugins/all-in-one-seo-pack/) на вашия сървър.

Решението изисква да редактираме файла all_in_one_seo_pack.php. Използвайте функция за търсене на низа $menulabel, за да намерите къде в кода се намира частта, която ще редактираме. Ще трябва да заменим следния код:

$filtered = '<li class="page_item page-item-'.$postID.$matches[2].'"><a href="'.$matches[3].'" title="'.$title_attrib.'">'.$menulabel.'</a>';
else :
$filtered = '<li class="page_item page-item-'.$postID.$matches[2].'"><a href="'.$matches[3].'" title="'.$matches[4].'">'.$menulabel.'</a>';</li>
<li class="page_item page-item-'.$postID.$matches[2].'">

с този:

$filtered = '<li class="page_item page-item-'.$postID.$matches[2].'"><a href="http://"'.$matches[3].'" title="'.__($title_attrib).'">'.__($menulabel).'</a>';
else :
$filtered = '<li class="page_item page-item-'.$postID.$matches[2].'"><a href="'.$matches[3].'" title="'.$matches[4].'">'.__($menulabel).'</a>';</li>
<li class="page_item page-item-'.$postID.$matches[2].'">

Направихте ли го? Сега запазете промените и... готово. Вече вашите менюта ще показват правилно само съответното на езика, на който гледаме сайта, въведено от вас нейно кратко име.

Трябва да добавя само, че ако този бъг, свързан с qTranslate, не бъде отстранен в официалната следваща версия на All-in-One SEO Pack, то при обновяването на плъгина, проблемът отново ще се появи. Но пък и вие вече знаете как да го отстраните, нали!

Надявам се статията ми да ви бъде полезна, както и да ме подкрепите и/или препоръчате статията на свои познати.

Споделете тази статия от "Направи си сайт!" в още мрежи и/или гласувайте за нея!

0 коментара:

Публикуване на коментар

Моля, имайте предвид, че коментарът ви ще бъде одобрен само ако пишете на кирилица. Можете да използвате някои HTML оператори, например <b>, <i>, <a>.
Благодаря ви!