Erstellen Sie eine neue Seite mit wp_insert_post()

Lesezeit: 2 Minuten

Ich habe den folgenden Code in einer PHP-Funktion, die aktiviert wird, wenn ich mein Plugin installiere, mit dem Sie einen Beitrag oder eine Seite erstellen können.

Funktioniert perfekt und mache die Seite, wenn die $post_type ist “post”, aber wenn die $post_type ist “Seite”, dann funktioniert es nicht, erstellt die Seite nicht.:

$my_post = array(
  'post_title'    => 'My page Reql',
  'post_type'     => 'page',
  'post_name'     => 'my-page',
  'post_content'  => 'This is my page reql.',
  'post_status'   => 'publish',
  'comment_status' => 'closed',
  'ping_status' => 'closed',
  'post_author' => 1,
  'menu_order' => 0
);

wp_insert_post( $my_post );

Was ist das Problem? Ich kann die Lösung nicht finden.

Vielen Dank!

  • Welche Fehler werden in Ihrem PHP-Fehlerprotokoll angezeigt?

    – cori

    12. Dezember ’12 um 20:32

  • Benutzer#1 darf Seiten posten? post_title noch nicht verwendet? Ich habe es bei einer meiner WP-Installationen getestet: Es funktioniert perfekt.

    – barakadam

    12. Dezember ’12 um 21:13

Ich glaube du musst das einstellen guid auch so

$PageGuid = site_url() . "/my-page-req1";
$my_post  = array( 'post_title'     => 'My page Reql',
                   'post_type'      => 'page',
                   'post_name'      => 'my-page',
                   'post_content'   => 'This is my page reql.',
                   'post_status'    => 'publish',
                   'comment_status' => 'closed',
                   'ping_status'    => 'closed',
                   'post_author'    => 1,
                   'menu_order'     => 0,
                   'guid'           => $PageGuid );

$PageID = wp_insert_post( $my_post, FALSE ); // Get Post ID - FALSE to return 0 instead of wp_error.

  • Ich weiß das zu schätzen soloution kann work aber das scheint ein Missbrauch der guid Feld zu mir, warum würdest du nicht einfach ein guid in dem guid Bereich? Wenn ich etwas falsch verstanden habe, erklären Sie es bitte, aber für jemanden, der weiß, was eine Anleitung ist, scheint dies ein Hack zu sein. Wäre es nicht besser, die von WordPress bereitgestellte Funktion wp_generate_uuid4() zu verwenden? developer.wordpress.org/reference/functions/wp_generate_uuid4

    – Max Carroll

    17. Okt ’19 um 11:45


  • Ich habe diese Lösung gerade mit und ohne GUID ausprobiert, es scheint zu funktionieren, ohne dieses Sceneario, also empfehle jedem, es zuerst ohne GUID zu versuchen

    – Max Carroll

    17. Okt ’19 um 12:06

.

456560cookie-checkErstellen Sie eine neue Seite mit wp_insert_post()

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy