質問: $node->nid; taxonomy_term_save($taxonomy_term); } }
回答: フィールドの列名は常にvalueとは限りません。分類用語参照の場合はtidであり、ノード/エンティティ参照の場合は使用しているモジュールによって異なります。 references モジュールを使用して作成されたフィールドの名前はnidであり、 entity reference モジュールを使用して作成されたフィールドの名前はtarget_id。次のコードは少し良く機能するはずです://hook_node_insert fires after new node has been inserted into db function mymodule_node_insert($node) { $taxonomy_term_id = $node->field_fruit[language_none][0]['tid']; // $value['tid'] isn't defined anywhere in this function scope so i // assume you meant to use $taxonomy_term_id here $taxonomy_term = taxonomy_term_load($taxonomy_term_id); if($taxonomy_term != false) { $column_name = 'nid'; // or 'target_id' if you're using entity reference $taxonomy_term->field_main_article_id[language_none][0][$column_name] = $node->nid; taxonomy_term_save($taxonomy_term); } }