Bearbeiten Sie mehrere benutzerdefinierte Beitragstypen, während Sie einen neuen oder bearbeiteten Beitrag speichern

Ich habe einen benutzerdefinierten Beitragstyp mit einigen benutzerdefinierten Feldern darin.

Nun, was ich tun möchte, wenn ich einen neuen OR speichern oder einen vorhandenen Beitrag in diesem Beitragstyp bearbeiten möchte, besteht darin, benutzerdefinierte Felder von allen anderen Posts dieses benutzerdefinierten Beitragstyps zu ändern.

Ich bin vertraut mit der update_post_meta, aber ich kann nicht herausfinden, wie man die Post-IDs aller anderen Beiträge erhält, um sie alle zu aktualisieren.

Solutions Collecting From Web of "Bearbeiten Sie mehrere benutzerdefinierte Beitragstypen, während Sie einen neuen oder bearbeiteten Beitrag speichern"

Hier ist, wie ich das machen würde:

add_action('save_post','update_all_meta'); function update_all_meta($post_id){ // verify if this is an auto save routine. // If it is our form has not been submitted, so we dont want to do anything if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; //check for post type if ( $post->post_type != "YOUR_CUSTOM_TYPE" ) return; global $post; $tmp_post = $post; $args = array( 'posts_per_page' => -1, 'post_type' => 'YOUR_CUSTOM_TYPE', 'post__not_in' => (array)$post->ID //skip current post ); $myposts = get_posts( $args ); //loop over all custom posts and update the meta foreach( $myposts as $post ) { setup_postdata($post); update_post_meta($post->ID,'meta_key',$meta_value); } $post = $tmp_post; } 

aber wenn die gespeicherten Daten die gleichen sind, verwenden Sie vielleicht Optionen api, so dass Sie nur eine aktualisieren und Sie können es für alle Beiträge verwenden.