erzeuge einen einzigartigen Slug beim Einfügen des Posts

Wie kann ich einzigartige Slug erstellen, während Sie einen neuen Beitrag einfügen ..

Ich weiß, dass ich Beiträge fragen kann und die Aufzeichnungen vergleichen kann, um einzigartigen Slug aber zu schaffen

Ich möchte einen Beitrag mit einem einzigartigen Slug gleichzeitig einfügen.

Lets sagen, ich habe Post-Titel und benötigte Daten für den Beitrag und möchte es mit wpquery einfügen Hat WordPress eine function, um alle selbst zu behandeln ..

Wenn ich einen Beitrag mit st. mögen

$my_post = array( 'post_title' => 'My post', 'post_content' => 'This is my post.', 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array(8,39) ); // Insert the post into the database wp_insert_post( $my_post ); 

Doest es handle den Slug automatisch.

Ich möchte diesen Beitrag einfügen und öffnen Sie es mit PHP Redirect nach dem Einfügen ..

Solutions Collecting From Web of "erzeuge einen einzigartigen Slug beim Einfügen des Posts"

Sie müssen nicht darüber nachdenken – WordPress wird sich darum kümmern.

wp_insert_post wir einen Blick auf wp_insert_post Quellcode von wp_insert_post

In Zeile 3203 finden Sie:

 if ( empty($post_name) ) { if ( !in_array( $post_status, array( 'draft', 'pending', 'auto-draft' ) ) ) { $post_name = sanitize_title($post_title); } else { $post_name = ''; } } else { // On updates, we need to check to see if it's using the old, fixed sanitization context. $check_name = sanitize_title( $post_name, '', 'old-save' ); if ( $update && strtolower( urlencode( $post_name ) ) == $check_name && get_post_field( 'post_name', $post_ID ) == $check_name ) { $post_name = $check_name; } else { // new post, or slug has changed. $post_name = sanitize_title($post_name); } } 

Wenn also kein post_name gesetzt ist, generiert WP es aus post_title .

Und dann in Zeile 3325 :

  $post_name = wp_unique_post_slug( $post_name, $post_ID, $post_status, $post_type, $post_parent ); 

WP kümmert sich also um die Eindeutigkeit von post_name .

WordPress kümmert sich um einzigartige Slugs. Wenn Sie nach der Erstellung auf den Post redirect möchten, können Sie den Permalink mit der Post-ID wp_insert_poost() die von wp_insert_poost() wenn sie erfolgreich war:

 $my_post = array( 'post_title' => 'My post', 'post_content' => 'This is my post.', 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array(8,39) ); // Insert the post into the database $post_id = wp_insert_post( $my_post ); // Check there was no errors if( $post_id && ! is_wp_error( $post_id ) ) { wp_redirect( get_the_permalink( $post_id ) ); exit; }