2015-03-03 1 views
0

При добавлении или редактировании сообщений в бэкэнд WordPress я не могу добавлять (присваивать) теги сообщениям. Когда я нажимаю кнопку «Выбрать из самых используемых тегов», она показывает «Без тегов найдено». Но есть более десятка тегов, уже добавленных к другим сообщениям. Добавление тегов с помощью текстового поля также не работает.Кнопка «Выбрать из наиболее часто используемых тегов» показывает «Не найдено тегов» вместо того, чтобы показывать наиболее используемые теги

Эта проблема возникает только после обновления плагина WPML. Перед обновлением плагина это работало правильно. Я искал в Интернете, но все еще не смог понять, как решить эту проблему.

Что мне нужно изменить или настроить, чтобы снова добавить функциональность добавляемых тегов в сочетании с плагином WPML?

+0

@rene Спасибо за редактирование. Это кажется более подходящим. –

ответ

1

Я решил проблему сейчас. Версия WPML-плагина, которую я использую, по-видимому, имеет эту проблему по умолчанию.

Чтобы решить эту проблему, я добавил следующий код вне плагина WPML (плагин, который я разработал).

// Code to fix 'No tags found' issue in admin backend 
add_filter('icl_current_language', 'icl_current_language_preview_hack_filter_func',200); 
function icl_current_language_preview_hack_filter_func($lang){ 

    if(isset($_GET['lang'])){ 
     $lang = esc_html($_GET['lang']); 
    } 
    elseif(isset($_COOKIE['_icl_current_admin_language'])) 
    { 
     $lang=$_COOKIE['_icl_current_admin_language']; 
    } 
    else 
    { 
     $lang="en"; 
    } 
    return $lang; 
} 

Примечание Приведенный выше код может быть добавлен в любой из плагинов.

Пояснение Когда мы пытаемся добавить теги к сообщению, WPML-плагин пытается извлечь теги для текущего выбранного языка. По умолчанию для каждой операции WPML хранит текущий язык в Cookie и извлекает его, когда это необходимо. Но в этом случае я не знаю, почему WPML извлекает текущий язык из $ _GET вместо Cookie, а $ _GET ничего не возвращает.

Итак, я изменил этот код, извлекая текущий язык с помощью Cookie, если текущий язык недоступен в $ _GET.

Надеюсь, этот ответ будет полезен для тех, кто сталкивается с этой проблемой.

Смежные вопросы