0

给定一个类别名称,我需要获取一个 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
4

1 回答 1

0

我想我解决了。

$subres 失败了,但循环仍在继续。

因此,在检查成功 $subres 的 if 条件之后,我添加了:

                else
                    break;
于 2013-04-22T13:10:43.760 回答