web-dev-qa-db-fra.com

Insérer et mettre à jour post_type par wp_update_post

J'ai écrit une fonction pour insérer du contenu dans la page et chaque mise à jour de date automatique.

J'ai utilisé wp_update_post( $my_post ); pour mettre à jour la page.

Je veux d’abord insérer du contenu dans la page principale spécifique puis mettre à jour, mais cela ne fonctionne pas.

c'est seulement mettre à jour ou insérer du contenu.

function wp_emallmobnok(){
        $postdater =  parsidate('j / F / Y',$datetime='now',$lang='pre');
        $postdate = date('Y-m-d H:i:s');
        $ta = parsidate('j / F / Y',$datetime='now',$lang='pre');
        $postdate_gmt = date('Y-m-d H:i:s');
        $titles="price daily";
        $posts = array(

            'post_content'   => $oiobz1,
            'post_name'      => $titles,/// The page url name
            'ID'             => 225, /// The page id witch we want to update that
            'post_title'     => $titles,
            'post_type'      => 'page',
            'post_status'    => 'publish',
            'post_author'    => '6',
            'ping_status'    => 'open',

            'post_date'  => $postdate_gmt,
            'post_category' => array(188),
            'tags_input'     => " price",
        );


        $post_id = wp_insert_post($posts);//// instert post
        add_post_meta( $post_id, ' wp_insert_post', 0, true );

        $post_up = wp_update_post($posts);///update post
        add_post_meta( $post_id, ' wp_update_post', 0, true );


}
1
rahavard

Comme le dit le Codex à propos de wp_update_post:

Pour fonctionner comme prévu, il est nécessaire de transmettre l'ID de la publication à mettre à jour.

Remplir le champ ID n'est pas strictement nécessaire, mais sans cela, il serait inutile d'utiliser la fonction.

Vous devez donc ajouter le nouvel identifiant de poste créé à $posts pour le mettre à jour.

function wp_emallmobnok(){
    $postdater    =  parsidate('j / F / Y',$datetime='now',$lang='pre');
    $postdate     = date('Y-m-d H:i:s');
    $ta           = parsidate('j / F / Y',$datetime='now',$lang='pre');
    $postdate_gmt = date('Y-m-d H:i:s');
    $titles       ="price daily";

    // Post data
    $posts        = array(
        'post_content'  => $oiobz1,
        'post_name'     => $titles,
        'post_title'    => $titles,
        'post_type'     => 'post',
        'post_status'   => 'publish',
        'post_author'   => '6',
        'ping_status'   => 'open',
        'post_date'     => $postdate_gmt,
        'post_category' => array(188),
        'tags_input'    => " price",
    );


    $post_id = wp_insert_post($posts);//// instert post
    add_post_meta( $post_id, ' wp_insert_post', 0, true );

    // Update post if inserting was successful
    if( $post_id !== 0 && !is_wp_error( $post_id ) ){
      // Add post ID to post data
      $posts['ID'] = intval( $post_id ); // ID has to be integer

      $post_up = wp_update_post($posts);///update post
      add_post_meta( $post_id, ' wp_update_post', 0, true );
    }
    else if( is_wp_error( $post_id ) ){
      $error_string = $post_id->get_error_message();
      echo 'ERROR: '.$error_string;
    }
}
1
Rene Korss