Intereting Posts
Петля через дочерние образы родителя для Nivo Slider Admin AJAX не работает на странице администрирования плагинов – даже если код скопирован дословно из WordPress Codex Тип персонализированного сообщения типа Pretty tax_query в WP_Query проблема Несколько простых сайтов WordPress (разные домены) на одной установке Admin Ajax возвращает «0 200 ошибок сервера OK» на многосайтовом подсайте Ошибка 404 при ошибке wp rewrite Переменные ссылочные типы сообщений Добавление пользовательского css в тему в зависимости от того, зарегистрирован ли пользователь admin или нет Получение переменной экземпляра в области «wp_enqueue_scripts» Как удалить / скрыть всплывающее окно автозаполнения прогноза при вводе тега / термина обмена Как отображать и использовать все существующие теги на моей панели «post-at-front-panel»? Добавьте вариант к детской теме Twenty Eleven HTML и ссылки через Quick press Css загружается очень медленно

WPML Получить url без вывода

Я перехожу из qTranslate в WPML для обработки своих языков.

С qTranslate у меня был очень простой способ получить URL-адрес страницы или сообщения, зная, что это пуля: $url = get_language_url(home_url($slug));

Теперь с WPML я не могу найти способ сделать это …

Есть функция icl_link_to_element но она напрямую выводит ссылку в теге aa. Кроме того, вам нужно знать идентификатор сообщения.

В любом случае, я могу получить ссылку на сообщение на правильном языке, зная, что это пуля?

Solutions Collecting From Web of "WPML Получить url без вывода"

На самом деле WordPress не имеет реальной функции для получения сообщений по slug / post-name. Но вы можете использовать get_page_by_path () для него, поэтому вам не нужно использовать настраиваемый запрос:

 if(function_exists('icl_object_id')) { $post = get_page_by_path('your-slug'); $id = icl_object_id($post->ID,'post',true); $link = get_permalink($id); } 

Единственное отличие здесь заключается в том, что вы должны использовать полный путь, т. Е. ( 'parent-page/sub-page' ), если у вас есть иерархическая структура. Для сообщений и неиерархических страниц вы можете просто использовать slug как param.

Вы можете получить ссылку на сообщение с помощью slug, используя следующий код.

 <?php global $wpdb; $id = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_name = 'name-of-slug'"); if(function_exists('icl_object_id')){ get_permalink(icl_object_id($id,'post',true)); } ?>