私のプラグインクラスで:sliderという名前のカスタム投稿タイプを作成しました。アクションからビューリンクを解除するメソッドremove_row_actionを呼び出すフィルタを追加しています
add_filter('post_row_actions', array(&$this, 'remove_row_actions'), 10, 1);
public function remove_row_actions($action) {
if (isset($_GET['post_type']) && $_GET['post_type'] == 'slider')) {
unset($action['view']);
return $action;
}else{
return $action;
}
}
これは完全にうまく機能しますが、GET変数でチェックするのではなく、add_filterがカスタム投稿タイプにのみ適用される、より明確な方法があるはずです。
はい、あなたが正しい。賢い方法があります。 post_row_actionsフィルタは、post_typeから取得できる2番目のパラメータ$ postも受け入れることができます。コードを見てください。
add_filter( 'post_row_actions', array( $this, 'remove_row_actions' ), 10, 2);
public function remove_row_actions( $action, $post ) {
if ( 'slider' === get_post_type( $post ) ) {
unset $action['view'];
return $action;
}
return $action;
}
get_current_screen()
オブジェクトを調べるだけです。それはあなたが何を手に入れたのかを教えてくれるでしょう。 $query
およびparse_request
フィルターの中にあるpre_get_posts
引数についても同じことが言えます。