2013-04-22 89 views
0

给定一个类别名称,我需要获得一个WordPress所有类别的所有类别的数组,包括所有的父类别。使用PHP获取所有父类别的wordpress帖子

wordpress函数不可用。

下面的代码超时(最大执行时间)。

$result = mysql_query("SELECT tax.term_taxonomy_id as taxid, tax.term_id, tax.parent, 
      term.name 
      FROM wp_term_taxonomy AS tax 
      JOIN wp_terms AS term ON (term.term_id = tax.term_id) 

      WHERE term.name = '".mysql_real_escape_string($cat)."' 

      AND tax.taxonomy = 'category' 

      LIMIT 1"); 

if($result) 
{ 
     $category = mysql_fetch_assoc($result); 

     //see if there are more than one parent: 

     $categories = array(); 

     $categories[] = $category['term_id']; //lowest 

     if($category['parent'] > 0){ //there are parent categories 

      $p = $category['parent']; 

      //get all the parent categories of this category 
      while($p >= 0){ 

       $subres = mysql_query("SELECT term_id, parent 

          FROM wp_term_taxonomy 

          WHERE term_id = '".intval($p)."' 

          AND tax.taxonomy = 'category' 

          LIMIT 1"); 

       if($subres){ 

        $c = mysql_fetch_assoc($subres); 

        $categories[] = $c['term_id']; 

        if($c['parent'] >= 0) 
         $p = $c['parent']; 
        else 
         break; 
       } 

      }//while 

     } 

     var_dump($categories); 
     die(); 
} //result 

回答

0

我想我解决了它。

$ subres失败,但循环继续。

所以,如果条件来检查全成$ subres后,我说:

   else 
        break; 
相关问题