カスタム投稿タイプの行アクション?


16

サイトをフィードバックのようなポータルに変換するプラグインに取り組んでいます。すべてのフィードバックを表形式で表示する新しいオブジェクトページ「Feedbacks」register_column_headers($array_of_column_headers)を作成し、テーブルの作成に使用しています。このテーブルに自分のページ行アクションを追加できるかどうかを知りたかったのです。つまり、リスト内のすべてのフィードバックの下で、「承認」、「削除」、「ブラックリスト」などのアクションを意味します。

私はコードといくつかのチケットを読み、それがこのように行われていることを見つけました:投稿、そのpost_row_actions、コメント、そのcomment_row_actions、メディア、media_row_actionsなどなど。私ができるフィルターはありmy-page-slug_row_actionsますか?

回答:


19

カスタム投稿タイプを使用する場合、post_row_actionsフィルターフックを使用し、投稿タイプをチェックして変更するだけです。

add_filter('post_row_actions','my_action_row', 10, 2);

function my_action_row($actions, $post){
    //check for your post type
    if ($post->post_type =="feedbacks"){
        /*do you stuff here
        you can unset to remove actions
        and to add actions ex:
        $actions['in_google'] = '<a href="http://www.google.com/?q='.get_permalink($post->ID).'">check if indexed</a>';
        */
    }
    return $actions;
}

クイックアップデート:

カスタム投稿タイプが「階層」である場合、somaticのおかげで、アクションフックは次のようになり page_row_actionsます。


$postスコープはありますか?ヒントヒント ;)
t31os

@ t310s @Bainternetがあなたが気にしないことを願っていたのを修正、)
kaiser

2
@kaiser:修正を改善しました!
ヤンファブリ

こんにちは、私はすでにカスタム投稿行にリンクを追加するために「post_row_actions」を使用しました。しかし、 'add_object_page'フック( 'add_menu_page'に似ています)を使用して追加されたメニューページに対してそれを行いたいです。 add_object_page("Feedbacks", "Feedbacks", 10, "feedbacks-menu", "FeedbackMenuFunction"); add_submenu_page("feedbacks-menu", "Pending Feedbacks", "Pending", 10, "pending-feedbacks-menu", "PendingFeedbackMenuFunction") 「feedbacks-menu_row_actions(...)」(行アクションのあるページスラッグを使用して「投稿」、「コメント」などの他のページで行うのと同じように)できるかどうか疑問に思っていました。
ラトウィックガンガード

6
あなたのCPTは、「階層」であれば、あなたのフィルターフックは次のとおりです。このコードは、カスタムポストタイプ、ノートに何もしないように思われる理由を不思議あなたの机の上に頭を強打あなたのそれらのために"page_row_actions"とNOT "post_row_actions" [摩擦ヘッド]
体細胞
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.