Automatisches Hinzufügen von benutzerdefinierten Feldern (post_meta) zu allen veröffentlichten Posts, stündlich, über wp_cron?

Ich versuche, das Post-Meta aller veröffentlichten Posts stündlich (über wp_cron) mit dem folgenden Code zu aktualisieren:

if ( ! wp_next_scheduled( 'postviews_updatedcounts_hourly_event' ) ) { wp_schedule_event( time(), 'hourly', 'postviews_updatedcounts_hourly_event' ); } add_action( 'postviews_updatedcounts_hourly_event', 'postviews_updatedcounts_function' ); 

und…

 function postviews_updatedcounts_function() { global $post; $posts = get_posts('post_status=publish'); foreach( $posts as $post ) { $post_id = $post->ID; $seconds = current_time( 'timestamp' ) - get_the_time('U'); // time ago in seconds that this article was published $minutes = round(abs($seconds/60)); // turn it into minutes $post_key = "postviews_hourly-refresh_" . $minutes . ""; // add post meta with time ago in minutes $total_post_key_views = get_post_meta( $post_id, 'jetpack-post-views', true ); // get current number of views (total) update_post_meta( $post_id, $post_key, $total_post_key_views ); // use new key to store number of views as of hook fire $updated_postviews = get_post_meta( $post_id, $post_key, true ); // retrieve new count $differential = $total_post_key_views - $updated_postviews; // subtract new count from total count to determine difference, daily update_post_meta( $post_id, 'postviews_hourly_differential', $differential ); // add new custom field that only calculates differential } } 

Aus irgendeinem seltsamen Grund wird dies jedoch nicht auf dem Posten gespeichert. Ich habe versucht, das Cron manuell auszulösen (mit dem Crontrol-Plugin) – immer noch kein Glück. Seltsamerweise läuft die function mit der Aktion save_post und sie wird ausgeführt, wenn ich die function direkt in single.php lade (aus Performance-Gründen nicht).

Hat jemand eine Idee warum? Ist es etwas mit wp_cron – etwas, das ich vermisse? Hinweis – andere wp_cron-Befehle werden problemlos ausgeführt. Es ist etwas mit diesem besonderen, das ein Problem verursacht.

Solutions Collecting From Web of "Automatisches Hinzufügen von benutzerdefinierten Feldern (post_meta) zu allen veröffentlichten Posts, stündlich, über wp_cron?"