我制作了一个名为:slider的自定义帖子类型,在我的插件类中,我添加了一个过滤器,该过滤器调用方法remove\\u row\\u action,该方法从actions中取消查看链接
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;
}
}
它工作得非常好,但我相信必须有一种更简洁的方式,add\\u过滤器只应用于自定义的post类型,而不是我通过GET变量检查它
SO网友:david.binda
是的,你说得对。有一个聪明的方法。post\\u row\\u actions过滤器还可以接受第二个参数$post,您可以从中获取其post\\u类型。请参见代码:
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;
}