Wie kann ich einen Post-Slug basierend auf dem Post-Titel während der Post-Veröffentlichung automatisch festlegen?

Wenn Sie in WP einen Post erstellen, wenn Sie keinen Titel schnell angeben, generiert WP basierend auf der Post-ID einen Standard-Slug für die automatische Speicherung. Dann, wenn Sie den Titel später hinzufügen, es sei denn, Sie ändern den Slug durch Bearbeiten, bleibt es gleich (basierend auf Post-ID)

Was ich versuche, ist eine Aktion zum Post-Publizieren hinzuzufügen, die den Post-Slug basierend auf dem Post-Titel generiert und speichert.

Solutions Collecting From Web of "Wie kann ich einen Post-Slug basierend auf dem Post-Titel während der Post-Veröffentlichung automatisch festlegen?"

Solange Sie die Schnecke nicht berührt haben, erzeugt WordPress nach Eingabe eines Titels eine neue.

Aktualisieren

Um andere Völkerschnecken zu ändern, benutze einen Filter (nicht getestet!):

add_filter( 'wp_insert_post_data', 'prevent_numeric_slugs', 10, 1 ); function prevent_numeric_slugs( $post_data ) { if ( ! isset ( $post_data['post_title'] ) or ! is_numeric( $post_data['post_name'] ) ) { // exit early return $post_data; } // post_name is the slug $post_data['post_name'] = sanitize_title( $post_data['post_title'] ); return $post_data; }