サポート » 使い方全般 » クイック編集時にカスタムフィールドの値消える問題について

  • 解決済 aki

    (@akistar02)


    タイトルどおり、WPでクイック編集をすると、add_meta_boxで追加したカスタムフィールドの値が消えてしまう問題について、解決策を探しています。

    調べているうちに、下記サイトを見つけたのですが、これでも駄目でした。
    https://gist.github.com/miya0001/9048229

    考えているのは、クイック編集の保存時にフックをかけてあげればいいのでは?と思っているのですが、上記サイトのようにreturnするだけでは上書きがとまりません。

    add_action("save_post", "save_post_meta");
    
    function save_post_meta($id)
    {
        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { // オートセーブの時は何もしない
            return $id;
        }       
    
        if (isset($_POST['action']) && $_POST['action'] == 'inline-save') { // クイックポストの時は何もしない
            return $id;
        }
    
        if (isset($_POST['featured']) && $_POST['featured']) {
            update_post_meta($id, '_featured', $_POST['featured_order']);
        } else {
            delete_post_meta($id, '_featured');
        }

    isset($_POST[‘action’]) && $_POST[‘action’] == ‘inline-save’)
    この条件式自体は有効みたいで、ここに上書きをしないという処理を書けばいいのではと思っているのですが・・・

    私が試したのは、この条件式の中に、今ある値をDBから引っ張ってきて再度同じ値を保存する、ということも試したのですが、save_postというフックが「保存後」のフックみたいで、値を持ってくることが出来ませんでした。

    ご存知の方がいれば教えてください。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター jim912

    (@jim912)

    コード再確認しましたが、提示されているコード自体は問題ないように思われます。

    別の箇所が影響していないか再確認してみてください。

    aki

    (@akistar02)

    ありがとうございます。
    問題ないように思うとのことですが、実際に動かすと確かに上書きされて消えてしまいます。

    他の箇所とのことですが、functions.phpなどには何も書いてない状態でして、心当たりがありません。

    複数環境で試しましたが駄目でした。

    aki

    (@akistar02)

    すいません。
    完全にミスしてました。

    save_postを2重に書いていました・・・
    失礼しました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「クイック編集時にカスタムフィールドの値消える問題について」には新たに返信することはできません。