Q&A
###前提・実現したいこと
予約投稿をするとカスタムフィールドの値が消えてしまうのを防ぎたいです。
###発生している問題・エラーメッセージ
通常投稿(更新)やクイック編集での投稿(更新)だと問題ないのですが、予約投稿をするとカスタムフィールドの値が消えてしまいます。
###該当のソースコード
現在はこのような形でカスタムフィールドの値を保存しています。
php
1add_action('save_post', 'save_custom_fields'); 2function save_custom_fields( $post_id ) { 3if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; 4if(isset($_POST['action']) && $_POST['action'] == 'inline-save') return $post_id; 5if(!empty($_POST['lalala'])) 6update_post_meta($post_id, 'lalala', $_POST['lalala'] ); 7else delete_post_meta($post_id, 'lalala'); 8}
###あればいいなと思っているコード
以下のコードのように、「予約投稿の時はカスタムフィールドの値を削除しない(何もしない)」というコードがあればいいなと思っています。
php
1//自動保存の時は何もしない 2if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; 3//クイック編集の時は何もしない 4if(isset($_POST['action']) && $_POST['action'] == 'inline-save') return $post_id;
###関連ページ
wordpressで予約投稿した時にカスタムフィールドの値が消えてしまうエラーが起きた時の対処法
こちらのページで紹介されているように「削除処理をしない」のも一つの手なのですが、入力欄を空白にしたり、チェックボックスを空にできないため、違うやり方を教えていただければ幸いです。
回答2件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2018/01/22 01:24
退会済みユーザー
2018/01/22 01:53
2018/01/22 11:55 編集
2018/01/26 10:34