Aktions-Hook “wp_insert_post” funktioniert aber nicht für den zuletzt importierten Post

Ich möchte eine benutzerdefinierte function ausführen, wenn Posts in meinen benutzerdefinierten Post-Typ importiert werden.

Ich führe gerade diesen Code aus –

function on_post_import($post){ global $wpdb; $results = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'" ); foreach ($results as $result) { // run custom function } $wpdb->flush(); } add_action( 'wp_insert_post', 'on_post_import' ); 

Das Problem, mit dem ich konfrontiert bin, ist, dass es beim letzten importierten Post nicht funktioniert. Wenn also 3 Posts importiert werden, funktioniert es gut für 2 dieser Posts, aber nicht für den 3. Post (zuletzt importiert).

UPDATE: Wenn nur ein Post importiert wird, funktioniert die benutzerdefinierte function nicht.

UPDATE2: Scheint so, als wäre das Problem bei meiner benutzerdefinierten function, die get_post_meta () benutzt, die anscheinend nichts ausgibt.

UPDATE 3: Ich verwende jetzt einfach die wpdb-Abfrage, um eine benutzerdefinierte function auszuführen. Ich möchte es vermeiden, da es im Hintergrund weiterläuft. Wenn jemand eine bessere Lösung hat, dann lass es mich wissen, danke!

 global $wpdb; $results = $wpdb->get_results( "SELECT ID FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'" ); foreach ($results as $result) { // run custom function } $wpdb->flush(); 

Was mache ich falsch? Oder gibt es eine andere Möglichkeit, um meine function für alle importierten Beiträge einschließlich der zuletzt importierten zu erhalten?

Solutions Collecting From Web of "Aktions-Hook “wp_insert_post” funktioniert aber nicht für den zuletzt importierten Post"

Die Aktion ‘wp_insert_post’ wird für jeden eingefügten Post ausgetriggers und übergibt die ID des eingefügten Posts an die Callback-function. Daher denke ich, dass Ihre $ wpdb-Abfrage unnötig ist. Tatsächlich denke ich, dass Sie die “benutzerdefinierte function” ausführen. Teil für alle veröffentlichten Posts, nicht nur für den eingefügten Post (was je nach dem, was Sie tatsächlich tun, zu Problemen führen kann).

 function on_post_import( $post_id ) { // custom function using $post_id } add_action( 'wp_insert_post', 'on_post_import' );