【WordPress】投稿一覧画面からクイック編集機能を削除する方法
WordPressの管理画面内、投稿一覧画面で「クイック編集」機能というものを使って投稿を簡易的に編集することが出来るのですが、WordPressをカスタマイズしてるとこの機能が邪魔になることが結構あります。今回はこの「クイック編集」機能を削除する方法をご紹介したいと思います。
結論
以下のコードをfunctions.phpに追加すればOKです。
function remove_quickedit_from_postlist($actions, $post) { unset($actions['inline hide-if-no-js']); return $actions; } add_filter('post_row_actions', 'remove_quickedit_from_postlist', 10, 2);
説明
変数$actionsの中身をvar_dumpすると以下のようになっています。
array(4) { ["edit"]=> string(137) "<a title="この項目を編集" href="http://wp.localhost/wp-admin/post.php?post=31&action=edit">編集</a>" ["inline hide-if-no-js"]=> string(101) "<a class="editinline" title="この項目をインラインで編集" href="#">クイック編集</a>" ["trash"]=> string(205) "<a class="submitdelete" title="この項目をゴミ箱へ移動する " href="http://wp.localhost/wp-admin/post.php?post=31&action=trash&_wpnonce=52d4da28cb">ゴミ箱</a>" ["view"]=> string(223) "<a title="hogehogeを表示" href="http://wp.localhost/2016/04/01/hogehoge/" rel="permalink">表示</a>" }
見て頂ければ分かる通り、表示する項目が$actionsに保管されています。
今回はクイック編集機能が邪魔なので、
unset($actions['inline hide-if-no-js']);
によってクイック編集の項目が配列から削除され、表示されなくなります。
また、今回は利用していませんが、$postに投稿のデータが入っているので、投稿に応じた分岐等を行いたい場合は$postを利用して行うことが可能です。
さらに
削除することはもちろん、必要に応じて項目を追加することも可能です。
例えば、(必要かどうかは置いておいて)Googleへのリンクを追加したい場合は
function add_google_to_postlist($actions, $post) { $actions['google'] = '<a href="http://google.com/" target="_blank">Google</a>'; return $actions; } add_filter('post_row_actions', 'add_google_to_postlist', 10, 2);
このようにすれば
こんな感じでGoogleへのリンクが(必要かどうかは置いておいて)設置されます。
今のところ良い使用用途が思い浮かばないのでこんな例になってしまいましたが、覚えておくとどこかで役に立つかもしれません。
以上
管理画面が使いにくいとWordPressを導入する意味が薄れてしまいますので、管理画面のカスタマイズ方法は出来るだけ仕入れて使いやすい管理画面を作れるようにしたいですね。
以上、たにっぱでした〜