0

私はワードプレスの問題に悩まされていました。特定のデータをワードプレスのデータベースに挿入できるphpスクリプトを作成しました。実際、wordpress の初期データを削除し、スクリプトを使用してディレクトリをスキャンし、データベース内のテーブルを初期化しました。

しかし、get_categories()関数を使用して子ディレクトリを見つけたが失敗したという問題が発生しました。以下は私のコードです:

   $args = Array('parent'=>'1', 'hide_empty'=>0); 
   echo count(get_categories($args));

実際には、カテゴリに番号 1 のディレクトリがいくつかありますが、0 が出力されます。そのため、cat_is_ancestor_of 関数を使用してテストしました。

    echo cat_is_ancestor_of(1, 2);

カテゴリ 2 がカテゴリ 1 の子であることを示す 1 が出力されます。mysql データベースを見たところ、カテゴリ 2 は確かにカテゴリ 1 の子ディレクトリです。しかし、なぜ get_categories が間違った答えを返すのでしょうか? それは私をたくさん困惑させました!誰でも私がそれを解決するのを手伝ってくれますか?

4

1 に答える 1

0

次の方法で、親カテゴリの子カテゴリを取得できます

   <?php
    $subcategories = get_categories('&child_of=1&hide_empty'); // List subcategories of category '4' (even the ones with no posts in them)
    echo count($subcategories);
    echo '<ul>';
    foreach ($subcategories as $subcategory) {
      echo sprintf('<li><a href="%s">%s</a></li>', get_category_link($subcategory->term_id), apply_filters('get_term', $subcategory->name));
    }
    echo '</ul>';
    ?>
于 2013-08-10T11:03:07.533 に答える