Automatisches Auffüllen von Post-Taxonomy-Daten basierend auf Post-Author-Metadaten?

Ich versuche, Metadaten des Autors zu verwenden, um automatisch eine benutzerdefinierte Taxonomie für die Posts eines bestimmten Autors zu füllen. Momentan ist die Taxonomie auf der Post-Seite sichtbar, aber ich beabsichtige, sie vor dem Front-End zu verbergen, um versehentliche Benutzerauswahlen zu vermeiden. (Auch der Grund für die Vorpopulation)

Hinweis: Die zugehörigen Taxonomiebegriffe und die Metadaten des Autors sind identisch (die Metadatenoptionen des Autors werden dynamisch aus vorhandenen Taxonomiebegriffen übernommen).

Aus irgendeinem Grund – das funktioniert NICHT. Ich kratze mich am Kopf und versuche herauszufinden, warum – ich denke, die Logik ist richtig. Fehle ich etwas / kann jemand helfen?

Danke im Voraus.

function update_school($post_id) { $post_author_id = get_post_field( 'post_author', $post_id ); // get the post author ID $school_title = get_the_author_meta( 'school2', $post_author_id ); // from the post author ID, get the author meta $school_slug = get_the_author_meta( 'school', $post_author_id ); // from the post author ID, get the author meta $school_term = get_term_by('slug', $school_slug, 'school'); // get term by the author meta called "school" $school_term_name = $school_term->name; // from the slug, get the school term name // update the post taxonomy "school" with author meta school variables above wp_set_post_terms( $post_id, $school_term_name, 'school' ); } // run function on post save add_action('save_post', 'update_school'); 

Solutions Collecting From Web of "Automatisches Auffüllen von Post-Taxonomy-Daten basierend auf Post-Author-Metadaten?"

Hat es für jeden herausgefunden, der es wissen möchte:

 function update_school( $post_id ) { $post_author_id = get_post_field( 'post_author', $post_id ); // get the post author ID $school_name = get_the_author_meta( 'school2', $post_author_id ); // from the post author ID, get the author meta $term = term_exists( $school_name, 'school'); wp_set_post_terms( $post_id, $term, 'school' ); } // run function on post save add_action( 'save_post', 'update_school' );