サポート » 使い方全般 » 管理画面でクイック編集後に更新した行がずれる

  • 解決済 yoshi1998

    (@yoshi1998)


    管理画面の投稿一覧でクイック編集後に更新すると更新した行がずれる問題が発生しています。

    具体的には“manage_posts_columns”で追加したカラムがクイック編集後に表示されなくなり、その分行の表示がずれます。

    解決方法があればご教授お願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • tmatsuur

    (@tmatsuur)

    クイック編集の更新後に表示される「行」の内容は、AJAXのinline-saveアクション(wp_ajax_inline_save())が返すレスポンスになります。

    なので、このアクションが実行される前に一覧表示時と同じように“manage_posts_columns”などのフィルターを登録(追加)する必要があります。

    標準AJAXアクションは優先度が1で登録されるため、私は同様のケースでadmin_initアクションを使用して対応しました。

    add_action( 'admin_init', 'for_ajax_inline_save' );
    function for_ajax_inline_save() {
        if ( defined( 'DOING_AJAX' ) && DOING_AJAX &&
            'inline-save' === $_POST['action'] &&
            isset( $_POST['post_ID'] ) &&
            (int) $_POST['post_ID'] ) {
            add_action( 'restrict_manage_posts', ... );
            // etc.
        }
    }

    参考まで。

    トピック投稿者 yoshi1998

    (@yoshi1998)

    ご返信ありがとうございます。

    教えて頂いたやり方を参考にし、”admin_init”で”manage_post_column”と”manage_post_custom_column”のフックを追加しましたが、上手く行きませんでした。

    確認してみると、”admin_init”がクイック編集更新後に呼び出されていないようでしたが、プラグインやテーマの問題なのでしょうか?

    そうなんですね。クイック編集更新後に更新した内容が表示されるのであれば、AJAXはリクエストされ、admin_initアクションは実行されていると思います。

    確認になりますが、add_filter()で指定されているフィルター名は上記の”manage_post_column”と”manage_post_custom_column”で間違いないでしょうか。

    ‘manage_posts_columns’や’manage_posts_custom_column’が目的のフィルターではないかと思いますので、タイポしていないか確認してみてください。

    トピック投稿者 yoshi1998

    (@yoshi1998)

    すみません。こちらの確認方法が良くなかったようで、デバッグ環境を作成して、再度確認してみたところadmin_initが実行されていました。

    manage_post_columnsで登録している関数がGETリクエストでposttypeの確認をしている為にクイック編集だと処理が実行されなかったようです。

    解決にご協力いただきありがとうございました。

    解決できてよかったです!

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。