Wordpressで、自動保存時にカスタムフィールドも保存したいです。
以下のソースをfunctions.phpへ入れていますが、通常のタイトルのみしか保存できません。
php
1function action_save_post( $post_id, $post ) { 2 if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) { 3 return $post_id; 4 } elseif ( !empty( $_POST ) ) { 5 $sample_name = get_post_meta( $post_id, 'sample_name', true); 6 update_post_meta( $post_id, 'sample_name', $sample_name ); 7 } 8} 9add_action( 'save_post' , 'action_save_post', 99, 2 );
カスタムフィールドは、advanceCustomFieldで作成しています。
カスタムフィールドのキー名は正しいはずなのですが・・。
ご教授頂きたいです
//======▼追記▼======//
php
1update_post_meta( $post_id, 'sample_name', 'テスト' );
とすると、wp_postmetaテーブルへはテストが入っている様子です。投稿データの取得が間違っているのでしょうか。。
また、保存しようとしているデータを確認した所、以下の様な結果でした。
php
1 // バッファ領域に書き出し 2 ob_start(); 3 var_dump($sample_name); 4 $result =ob_get_contents(); 5 ob_end_clean(); 6 // ファイルをオープンして既存のコンテンツを取得します 7 $file = '/Applications/MAMP/htdocs/mock/sample.txt'; 8 $current = file_get_contents($file); 9 // 結果をファイルに書き出します 10 file_put_contents($file, $result); 11 12 /*======出力結果は、 string(0) "" となる======*/
投稿中のデータの取得はどのように行うか伺いたいです。
//======▼追記▼======//
php
1 // バッファ領域に書き出し 2 ob_start(); 3 var_dump($_REQUEST); 4 var_dump($_POST); 5 $result =ob_get_contents(); 6 ob_end_clean(); 7 $file = '/Applications/MAMP/htdocs/mock/sample.txt'; 8 $current = file_get_contents($file); 9 file_put_contents($file, $result);
こちら実行した所、カスタムフィールドのデータは入っていませんでした。
advanceCustomFieldプラグインのカスタムフィールドは、自動保存できないのでしょうか。。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。