2016-03-22 4 views
0

次のコードをプラグインで使用して、WordPress MUシステムに投稿を追加しましたが、wp_insert_post()が失敗します。スーパーユーザがこの機能を使用しようとしない限り、すべて正常に動作します。この関数はスーパーユーザ

$post = [ 
      'post_content' => NULL, 
      'post_title' => $title, 
      'post_status' => 'publish', 
      'post_type' => 'artikelregister', 
      'tags_input' => $keywords, 
      'tax_input' => [ 
       'issue' => $issue, 
       'keywords' => $keywords 
      ] 
     ]; 
$insert = wp_insert_post($post); 

スーパーユーザーは我々が作業しているページに割り当てられているデータベースに投稿を追加できませんでした。私が持っていないアイデア


編集を返します:エラーメッセージを修正してください。

答えて

0

解決策を見つけていないの後、私は回避策を構築しました:

私は値がユーザのIDです「insert_user」という名前の余分なフォームフィールドを挿入します。

if(isset($_POST['insert_user']) && is_numeric($_POST['insert_user']) && is_super_admin()) { 
      $postAuthor = $_POST['insert_user']; 
     } else { 
      $postAuthor = get_current_user_id(); 
     } 
$post = [ 
     'post_author' => $postAuthor, 
     //more arguments here ... 
]; 
$insert = wp_insert_post($post); 

これで、スーパーユーザーはインポートに使用するユーザーIDを選択できるようになりました。