Hallo Wordpress-Freunde,
ich habe eine Funktion zur Altersberechnung, welche beim Abspeichern eines Custom Post Type automatisch einen Term einer Custom Taxonomy zuordnet. Das funktioniert auch soweit gut. Nun möchte ich aber nachträglich ca. 10.000 bereits existierenden Posts mit wp_schedule_event den Term automatisch zuordnen lassen.
Das folgende Skript, das ich mir für diese Automation zusammengebastelt habe, funktioniert aber leider nicht. Zur Demonstration des Codes habe die eigentliche Funktion, die ich automatisieren möchte, erst mal weggelassen. Es geht wie gesagt erst mal darum, das Abspeichern bzw. Zuordnen der Terms zu automatisieren.
function run_update_tax_cron_job( ) {
$posts = get_posts( [
'post_type' => 'person',
'posts_per_page' => 30,
] );
foreach( $posts as $post_id ){
// eigentliche Funktion...
wp_set_post_terms( $post_id, 'test' ,'alter', false);
wp_set_object_terms( $post_id, 'test' ,'alter', false);
}
}
function udpdate_taxonomy_cron_job() {
$dateStr = '2021-03-15 09:00:00';
$timezone = 'Europa/Berlin';
$timestamp = strtotime($dateStr. ' '. $timezone);
if ( ! wp_next_scheduled( 'run_update_tax_cron_job' ) ) {
wp_schedule_event( $timestamp, 'daily', 'run_update_tax_cron_job' );
}
}
add_action( 'wp', 'udpdate_taxonomy_cron_job' );
Alles anzeigen
Hat jemand eine Idee, was an dem Code falsch sein könnte?
Herzlichen Dank für eure Hilfe im voraus!
Andreas