2

WordPressの自動保存でカスタムフィールドデータが送信されないという問題があり、SOでこのエントリが見つかりました:

Wordpress add_meta_box()奇妙さ

承認された回答は機能しますが、早期に戻ることで自動保存の発生を防ぐだけではありませんか?自動保存を完全に無効にすることと同じではありませんか?もしそうなら、それを防ぐためだけに自動保存を試みるのではなく、適切な方法でそうする方が良いのではないでしょうか?

私が見ることができる唯一の例外は、自動保存をチェックする前に投稿タイプをチェックして、特定の投稿タイプに対してのみ自動保存を無効にした場合です。

自動保存を完全に無効にするつもりですが、皆さんがどう思っているのか疑問に思いました。

編集:自動保存に問題はもうありません。この質問は、私が上で述べた解決策のメリットを議論することです。

さらに、これがWordPressの機能になるかどうかわかりません。また、自動保存を変更してすべての投稿データを含める必要があると想定します。いいえ?

4

3 に答える 3

2

リンクされた回答のコードは自動保存を無効にしません。自動保存時にカスタム保存機能の実行を停止するだけです。これが必要なのは、Wordpress の自動保存システムが、投稿データを照合する Javascript またはリビジョンを作成および復元する PHP のいずれかで、投稿メタデータ (カスタム フィールド) をサポートしていないためです。

于 2011-01-28T02:29:18.440 に答える
1

私が作成したカスタムフィールドに以下を使用しましたが、うまくいきました。

<?php
// Save Fields
add_action('save_post', 'save_details');

function save_details(){
 if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) 
    return $post_id;
 global $post;
 update_post_meta($post->ID, "event_featuring", $_POST["event_featuring"]);
 update_post_meta($post->ID, "event_time", $_POST["event_time"]);
 update_post_meta($post->ID, "event_date", $_POST["event_date"]);
 update_post_meta($post->ID, "event_end_date", $_POST["event_end_date"]);
 update_post_meta($post->ID, "event_location", $_POST["event_location"]);
 update_post_meta($post->ID, "bhs_event", $_POST["bhs_event"]);
}
?>
于 2011-01-27T21:43:37.563 に答える
1

参考までに、ここに投稿されたソリューションhttp://wordpress.org/support/topic/custom-post-type-in ​​formation-disappearingは私にとってはうまくいき、はるかにエレガントだと思います。

于 2011-06-29T22:18:42.063 に答える