質問: $flightcat; しかし、結果は同じです。何がおかしいのですか?
回答: どちらの場合も問題は他にはありませんが、2番目のパラメータに送信している主な値、あなたの場合は$flightcategoryです。$flightcategory = array( 25 ); var_dump( $flightcategory ); wp_set_object_terms( $post_id, $flightcategory, 'flight_categories' ); しかし、後のバージョンではどういうわけか、文字通りあなたは実際に以下のようなものを渡しています。$flightcategory = array( '25' ); var_dump( $flightcategory ); wp_set_object_terms( $post_id, $flightcategory, 'flight_categories' ); 25に関するsingle quoteに注意しましたか?それが実際に問題を引き起こしています。最初のコードダンプであなたが見るでしょうので:array(1) { [0]=> int(25) } そして二番目に:array(1) { [0]=> string(2) "25" } あなたは実際に文字列を渡しています、そして関数はそれを理解しています、さて、私は 用語名 を得たので、それで。しかし、整数を使ってあなたが実際に言っているのは、{ちょっと関数、term idを取得しました。idだけを追加/更新してください} _です。溶液問題を解決するためには、簡単なことをしなければなりません:$flightcategory = (int)$flightcat; //make it integer whatever you get または、$flightcategory = array( (int)$flightcat ); //make the array value integer whatever you get php型キャストについての詳細 。