ESSAY / NOTE

wordpress运用PHP原生代码获取三级分类及URL

$sql="select wp_terms.name,wp_term_taxonomy.term_id from wp_terms join wp_term_taxonomy on wp_terms.term_id = wp_term_taxonomy.term_id where wp_term_taxonomy.parent=7"; $resa=mysql_query($sql); var_dump($resa); while($rowa=mysql_fetch_row($resa)){ foreach($rowa as $k => $v){ echo "$v"; } echo "<br />"; } mysql 使用的inner  join实现 链接 wp_terms , wp_term_taxonomy两个数据表 我们查询了该字段 wp_term_taxonomy.parent=7 父ID为7的全部wp_terms.name,wp_term_taxonomy.term_id的值 这时我们只需要解决URL的问题和父ID的获取 1、父ID使用WP函数传入变量即可 2、URL都是有规律的 将ID放在后面就行了 这个很简单。。 一个简单的查询案例 最终代码仅供参考 可以封装在function函数对象里直接调用 global $wp_query; $cat_ID = get_query_var('cat'); $url=get_option('home'); $sql="select wp_terms.name,wp_term_taxonomy.term_id from wp_terms join wp_term_taxonomy on wp_terms.term_id = wp_term_taxonomy.term_id where wp_term_taxonomy.parent=$cat_ID"; $resa=mysql_query($sql); //var_dump($resa); while($rowa=mysql_fetch_row($resa)){ /*foreach($rowa as $k => $v){ echo "$v"; }*/ echo '<li color="#FF6600">'; echo '<a href="'.$url.'/?cat='.$rowa[1].'">'; echo '<h2 style="color: rgb(255, 102, 0);" class="titProd titoletto">'.$rowa[0].'</h2>'; echo '<p class="descProd">OGNI AMBIENTE ... IN CONTINUA EVOLUZIONE</p> </a> </li>'; //var_dump($rowa); echo "<br />"; } 对了 这样排序是乱的 要是想要ID(越大时间是最新的)排序就在sql语句加段order by wp_term_taxonomy.term_taxonomy_id asc