dqnhfbc3738 2018-11-13 15:56
浏览 144

通过sql查询获取MySql Wordpress数据库中的菜单项

There is menu 'menu-name' on wordpress site. On wordpress I can get menu by

$menu_items = wp_get_nav_menu_items( 'my-menu' ). 

Then in foreach loop I get url for menu item:

$url = $menu_item -> url. 

This is url on post. This case works good.

Second I want to get the same menu items with urls via sql-query from Wordpress MySql database without wordpress method wp_get_nav_menu_items( 'my-menu' ). Because it is used from other not php wordpress project.

I found this query on internet:

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

But there is not url in this solution. I thought to use 'post_name' for url, but this 'post_name' isn't the same url, that I get from 'wp_get_nav_menu_items...' method. Could you help me, please

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 树莓派安卓APK系统签名
    • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
    • ¥65 汇编语言除法溢出问题
    • ¥15 Visual Studio问题
    • ¥20 求一个html代码,有偿
    • ¥100 关于使用MATLAB中copularnd函数的问题
    • ¥20 在虚拟机的pycharm上
    • ¥15 jupyterthemes 设置完毕后没有效果
    • ¥15 matlab图像高斯低通滤波
    • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗