2016-07-03 4 views
0

私は次の機能で苦労しています。タイトルにcurrentUserNameの投稿を更新したいと思います。特定のIDで投稿を更新する

私は次のことをやっている:

$id = (int)$wpdb->get_row("SELECT ID FROM wp_posts WHERE post_title = '" . $current_user->user_login . "' && post_status = 'draft' && post_type = 'post' ", 'ARRAY_N'); 

// Update post 
    $my_post = array(
     'ID'   => $id, 
     'post_title' => $current_user->user_login, 
     'post_content' => $current_user->user_email, 
); 

// Update the post into the database 
wp_update_post($my_post); 

しかし、私が手$id1であるため、ポストは更新されません。エラーとして私は得る:

無効な投稿ID。

私が間違っていることは何ですか?

+1

このスニペットを試してみてください?管理者としてログインしている場合は、管理者のユーザー名としてpost_title、投稿としてステータスを入力し、投稿として入力しようとしています。あなたは1の結果を得ていますか? –

+0

@MujeebuRahmanはい。ポストIDを取得したいと思います。ポストIDには、ポストIDのユーザー名が入ります。 – mrquad

答えて

1
 $row = $wpdb->get_row("SELECT ID FROM wp_posts WHERE post_title = '" . $current_user->user_login . "' && post_status = 'draft' && post_type = 'post' ", 'ARRAY_N'); 
     if (!empty($row)) { 
// Update post 
      $my_post = array(
       'ID' => $row[0], 
       'post_title' => $current_user->user_login, 
       'post_content' => $current_user->user_email, 
      ); 

// Update the post into the database 
      wp_update_post($my_post); 
     } 

にあなたが取得しようとしているものをポスト

1

デシベルから単一の値を取得するために使用get_var 'AND' のmysql

$id = (int)$wpdb->get_var("SELECT ID FROM wp_posts 
     WHERE post_title = '" . $current_user->user_login . "' 
     AND post_status = 'draft' 
     AND post_type = 'post' ", 'ARRAY_N'); 
関連する問題