0

このコードの何が問題なのかわかりません:

function my_wpcf7_save($cfdata) {

$formtitle = $cfdata->title;
$formdata = $cfdata->posted_data;   

if ( $formtitle == 'contactform1') {

    // access data from the submitted form
    $formfield = $formdata['name'];

    // create a new post
    $newpost = array( 
                  'post_title' -> $formdata['name']);
                  'post_content' -> $formdata['message']);
                  'post_status' -> 'publish');

    $newpostid = wp_insert_post($newpost);

    // add meta data for the new post
    add_post_meta($newpostid, 'email', $formdata['email']);
    add_post_meta($newpostid, 'subject', $formdata['subject']);
}

}
add_action('wpcf7_before_send_mail', 'my_wpcf7_save',1);

エラーが発生しました: 解析エラー: 構文エラー、予期しない T_OBJECT_OPERATOR、')' を期待してい ます ... この行: 'post_title' -> $formdata['name']);

私の知る限り、構文は正しいですね。

4

2 に答える 2

3

あなたの質問でマリオからのコメントを読んでください:

// create a new post
$newpost = array( 
              'post_title' => $formdata['name'],  <------------------ Here
              'post_content' => $formdata['message'], <-------------- Here
              'post_status' => 'publish');

更新: また、上記のように に->置き換えます。=>

于 2013-07-28T16:28:12.603 に答える
2

私はこれを確信しています:

$newpost = array( 
  'post_title' -> $formdata['name']);
  'post_content' -> $formdata['message']);
  'post_status' -> 'publish');

次のようにする必要があります。

$newpost = array( 
  'post_title' => $formdata['name'],
  'post_content' => $formdata['message'],
  'post_status' => 'publish');

実際に配列の宣言を完了する前に、配列とステートメントを閉じていました。それが、あなたが少なくともやろうとしていたことだと思います。

于 2013-07-28T16:28:57.640 に答える