Einstellung ‘post_format’

Momentan habe ich den folgenden Code für meine automatisierte Buchungsprozessdatei.

// Create post object $my_post = array( 'post_title' => wp_strip_all_tags( trim( $row['title'] ) ), 'post_content' => $content, 'post_format' => 'audio', 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array( 2 ), 'post_date' => date('Ymd H:i:s') ); 

Sie können oben sehen, dass ich 'post_format' => 'audio', in meinem Array 'post_format' => 'audio', aber das scheint das bestehende Post-Format NICHT von ” Standard ” auf ” Audio ” zu setzen, was ich versuche zu erreichen.

Screenshot .

Jetzt habe ich angefangen, Fortschritte zu machen, aber ich werde immer noch in eine Sackgasse geworfen.

 set_post_format($post->ID, 'audio' ); 

Wenn ich das in meine Schleife einfüge, ändert es beim Bearbeiten meines Posts tatsächlich das Format in Audio, aber ich muss den Post manuell bearbeiten, damit er geändert wird, was ein Problem darstellt.

 ID, 'audio' ); get_template_part( 'template-parts/content', get_post_format() ); // If comments are open or we have at least one comment, load up the comment template. if ( comments_open() || get_comments_number() ) : comments_template(); endif; endwhile; // End of the loop. ?> 

Oben ist meine Schleife, an diesem Punkt ist ehrlich jede Hilfe geschätzt .. Ich habe Mühe, dies herauszufinden und würde gerne wissen, wie man es automatisch so einstellen, dass mein post_format bei jedem Upload auf ” Audiopost_format wird.

Solutions Collecting From Web of "Einstellung ‘post_format’"

Sie können eine Aktion zu wp_insert_post() hinzufügen. Die coole Sache ist der dritte Parameter – $update , weil Sie nur das post_format einmal setzen können, und Sie können es später ändern. Dies ist notwendig, da die function wp_insert_post() nicht nur bei der Erstellung, sondern auch bei der Aktualisierung usw. aufgerufen wird.

 add_action( 'wp_insert_post', 'f711_set_default_format', 10, 3 ); function f711_set_default_format( $post_ID, $post, $update ) { // execute only on creation, not on update, and only if the post type is post if ( $update !== true && $post->post_type == 'post' ) { set_post_format( $post_ID, 'audio' ); } } 

Wenn Sie dies für alle vorhandenen Posts benötigen, erstellen Sie einfach eine Schleife und rufen set_post_format() für jedes einzelne das set_post_format() auf.