0

I'm using the following sql query to get a custom menu by it's name:

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

Now I'm using WPML on the site and need to get this menu by language code. How do I add it to this query?

Thanks in advance for any help with this!

jxe
  • 310
  • 4
  • 16

1 Answers1

0

Try this, works for me.

  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
Margo
  • 1