2013-11-26 2 views
0

Я использую следующий SQL запрос, чтобы получить пользовательское меню, это имя:SQL запрос для пользовательского меню Wordpress с помощью WPML

SELECT p2.post_title, p2.post_name, p2.guid 
       FROM wp_posts p1 
       INNER JOIN wp_term_relationships AS TR 
       ON TR.object_id = p1.ID 
       INNER JOIN wp_postmeta AS PM 
       ON pm.post_id = p1.ID 
       INNER JOIN wp_posts AS p2 
       ON p2.ID = PM.meta_value 
       WHERE p1.post_type = 'nav_menu_item' 
       AND TR.term_taxonomy_id = (SELECT wp_terms.term_id FROM wp_terms WHERE wp_terms.slug = '$custom_menu') 
       AND pm.meta_key = '_menu_item_object_id' 
       ORDER BY p1.menu_order ASC 

Теперь я использую WPML на сайте и нужно, чтобы это меню по языковому коду. Как добавить его в этот запрос?

Заранее благодарим за помощь!

ответ

0

Попробуйте это, работает для меня.

SELECT p2.ID, p2.post_content, p2.post_title, p2.post_name, p2.guid, p1.post_parent 
     FROM wp_posts p1 
     INNER JOIN wp_term_relationships AS TR 
     ON TR.object_id = p1.ID 
     INNER JOIN wp_postmeta AS pm 
     ON pm.post_id = p1.ID 
     INNER JOIN wp_posts AS p2 
     ON p2.ID = pm.meta_value 
     WHERE p1.post_type = 'nav_menu_item' 
     AND TR.term_taxonomy_id = (SELECT wp_term_taxonomy.term_taxonomy_id FROM wp_terms LEFT JOIN wp_term_taxonomy ON wp_terms.term_id=wp_term_taxonomy.term_id AND `taxonomy` = 'nav_menu' WHERE wp_terms.slug = '" . $this->real_escape_string($slug) . "') 
     AND pm.meta_key = '_menu_item_object_id' 
     ORDER BY p1.menu_order ASC 
Смежные вопросы