码迷,mamicode.com
首页 > 其他好文 > 详细

wordpress 代码获得菜单的方法

时间:2018-01-22 19:14:17      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:function   条件   post   out   global   子菜单   each   term   left join   

1、第一种,在function.php中添加这个东东,wp_nav_menu()主要是用这个函数

$menu = menu;
$nav_menu = wp_get_nav_menu_object($menu);
wp_nav_menu( array( fallback_cb => ‘‘, menu => $nav_menu ));

然后访问任何页面就有了,但是呢这个页面不是特别好,很乱

技术分享图片

2、我们用sql语句来查询这个东东

function show_category(){
    global $wpdb;
    $request = "SELECT $wpdb->terms.term_id, name FROM $wpdb->terms ";
    $request .= " LEFT JOIN $wpdb->term_taxonomy ON $wpdb->term_taxonomy.term_id = $wpdb->terms.term_id ";
    $request .= " WHERE $wpdb->term_taxonomy.taxonomy = ‘category‘ ";
    $request .= " ORDER BY term_id asc";
    $categorys = $wpdb->get_results($request);
    foreach ($categorys as $category) { //调用菜单
        $output = <span>.$category->name."(<em>".$category->term_id.</em>)</span>;
        echo $output;
    }
}

在需要显示的地方添加下面的调用代码即可

<?php show_category(); ?>

这样就出来所有的了,我们可以自己加条件,比如利用term_taxonomy这个表的parent可以查出来这个子菜单有啥?

就像这样,我还顺便多查了个parent,但是呢,我现在是系统弄得列表页,我不知道怎么获得他的parent,还是不好查,555,继续学习中啊

function show_category(){
    global $wpdb;
    $request = "SELECT $wpdb->terms.term_id, name, parent FROM $wpdb->terms ";
    $request .= " LEFT JOIN $wpdb->term_taxonomy ON $wpdb->term_taxonomy.term_id = $wpdb->terms.term_id ";
    $request .= " WHERE $wpdb->term_taxonomy.taxonomy = ‘category‘ and $wpdb->term_taxonomy.parent = 4 ";
    $request .= " ORDER BY term_id asc";
    $categorys = $wpdb->get_results($request);
    foreach ($categorys as $category) { //调用菜单
        $output = <span>.$category->name."(<em>".$category->term_id."(<em>".$category->parent.</em>)</em>)</span>;
        echo $output;
    }
}

 

wordpress 代码获得菜单的方法

标签:function   条件   post   out   global   子菜单   each   term   left join   

原文地址:https://www.cnblogs.com/xbxxf/p/8330062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!