使用PHP获取wordpress post的所有父类别

时间:2013-04-22 12:59:52

标签: php wordpress categories

鉴于类别名称,我需要获得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

1 个答案:

答案 0 :(得分:0)

我想我解决了它。

$ subres失败,但循环继续。

所以在if条件检查成功的$ subres之后,我补充说:

                else
                    break;