PluginUs.Net -WooCommerceとWordPressのビジネスツール

[あなたのアイデアを実現する-あなたの夢を実現させる]

サポートフォーラム

サポートへのリクエスト(トピック)を作成するには、ログインする必要があります

分類用語の値をカスタムフィールドに変換する

サポートは土曜日と日曜日には機能しないため、一部の金曜日のリクエストには月曜日に回答できます。
24〜36営業時間以内にメールが届かない場合は、まずスパムボックスをチェックし、サポートからのメールがない場合は、フォーラムに戻ってここで回答を読んでください。 しない] メールでの回答[noreply@pluginus.net]フォーラムから!! メールはあなたの情報のためだけのものであり、すべての回答はここでのみ公開する必要があります。
サポートは土曜日と日曜日には機能しないため、一部の金曜日のリクエストには月曜日に回答できます。

こんにちは、

名前の付いた分類法の値をコピーしようとしています item_year 新しく作成されたカスタムフィールドに 私の投稿ごとに。

 

の説明に続いて https://wp-filter.com/howto/convert-taxonomies-terms-values-meta-values/

次のコードをfunctions.phpファイルに貼り付けました。

グローバル$ wpdb;

$ pp = $ wpdb-> get_results( "SELECT ID from {$ wpdb-> posts} WHERE post_type = 'post'");

if(!empty($ pp)){

foreach($ pp as $ p){

$ terms = wp_get_post_terms($ p-> ID、 'item_year');

if(!empty($ terms)){

if(isset($ terms [0])){

update_post_meta($ p-> ID、 '年'、$ terms [0]->名前);

}

}

}

}

 

しかし、私は取得し続けています:

キャッチされないエラー:タイプWP_Errorのオブジェクトを配列として使用できません

 

を含む行の参照付き

if(isset($ terms [0])){

 

どんな助けでも大歓迎です!

こんにちは

この行を変更してください- https://share.stackovergo.com/image/i20220124083428.png

if(!empty($ terms)&&!is_wp_error( $ terms)){

こんにちはパブロとあなたの助けをどうもありがとう!

私が正しく理解していれば、あなたが提案する追加は、WP_Errorによって引き起こされる「キャッチされていないエラー」を防ぐでしょう。

この場合、気になるのはWP_Errorの原因です。 wp_get_post_termsのリファレンスを見ると、用語(私の例では「item_year」)が見つからない場合にWP_Errorが返されることがわかります。 ただし、再確認したところ、「item_year」は(カスタム投稿タイプUIプラグインを使用して)作成した関連する分類法であり、すべての投稿にこの分類法の値が含まれていました。 また、「item_year」を「post_tag」に変更し、投稿IDと各投稿の最初のタグを表示するためのechoステートメントを追加してデバッグしようとしましたが、すべて問題ないようでした。

任意のアイデア?

こんにちは

このコードをwp_headイベントで実行します

どうもありがとうございました!!! コードをheader.phpに移動すると、問題が解決しました。

こんにちは

ようこそ;)