0

私は本当に奇妙な問題を抱えています。

wordpress で wp_insert_category() を使用してカテゴリを作成し、新しい ID を取得します。次に、別の wp_insert_category を呼び出し、この ID をcategory_parentパラメータとして渡して子カテゴリを作成します。

ただし、そうすると非常に奇妙に機能します。カテゴリ ツリーは、サイト全体のカテゴリ選択フィールドに表示されますが、カテゴリ リストには表示されません。親猫のみが表示されます。また、get_posts などの関数を使用すると、子を正しく取得できないようです。

カテゴリを作成してIDをエコーし​​てから、同じスクリプトを再度実行しようとしましたが、このIDがハードコードされた子カテゴリのみを作成しました-うまくいきました!

私にとって唯一の論理的な説明は、ワードプレスがクエリを何らかの形でキャッシュし、最初の挿入をすぐに実行しないため、関係に関しては混乱するということです。

何か案は?

4

1 に答える 1

0

ここで非常に長い議論を見つけましたhttp://core.trac.wordpress.org/ticket/14485

しかし、それは役に立ちませんでした。ここで実用的な解決策を見つけましたhttps://wordpress.stackexchange.com/questions/49634/weird-behaviour-when-adding-terms-term-taxonomies-programmatically

delete_option('taxonomy-slug_children');親カテゴリと子カテゴリの作成の間に呼び出すだけです。

于 2012-11-15T23:05:54.140 に答える