$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

发表回复