根据我的question yesterday, 我需要从大多数WordPress查询中排除所有图像-昨天,我想我需要从所有查询中排除它们,直到我遇到以下问题。
使用以下过滤器排除图像也会将其从媒体库中排除,包括“插入媒体”对话框。
function remove_images($where) {
global $wpdb;
$where.=\' AND \'.$wpdb->posts.\'.post_mime_type NOT LIKE \\\'image/%\\\'\';
return $where;
}
我仍然希望能够在媒体库中查看图像并插入媒体对话框。
通常,我可以if (!is_admin())
子句,因为媒体库通常位于管理部分。
However, 我还有一个wp_editor
在前端,允许我的用户快速添加帖子,您也可以从那里访问媒体库。
是否有任何挂钩或条件可供我使用,以便在查询媒体库时不包括过滤器?
最合适的回答,由SO网友:Howdy_McGee 整理而成
您可以使用is_admin()
与admin全局变量一起使用$pagenow
要确保您不在上载或媒体页面上,请执行以下操作:
function remove_images( $where ) {
global $wpdb,
$pagenow;
if( is_admin() && in_array( $pagenow, array( \'upload.php\', \'media-upload.php\' ) ) {
return $where
}
$where .= " AND {$wpdb->posts}.post_mime_type NOT LIKE \'image/%\'";
return $where;
}