我正在尝试修改我的functions.php文件中的产品循环,以便在管理员用户登录时从产品类别页面中排除私人帖子。我通过一些搜索找到了一些方法,但我很难修改下面的代码来实现我的目标。 -
add_filter('posts_where', 'no_privates');
function no_privates($where) {
if( is_admin() ) return $where;
global $wpdb;
return " $where AND {$wpdb->posts}.post_status != 'private' ";
}
这很好但我很难修改它以允许管理员预览帖子或查看单个产品页面进行编辑和发布。我希望有人可以帮我修改代码以使其正常工作。对不起,如果这是一个简单的解决方案,仍处于学习php的早期阶段: - )
干杯
富
答案 0 :(得分:0)
好的找到了我认为有效的解决方案,显然非登录用户的标准循环忽略了私人帖子,所以只需更改上面的代码就可以查询它是否属于产品类别并且似乎有效。
add_filter('posts_where', 'no_privates');
function no_privates($where) {
if ( ! is_product_category()) return $where;
global $wpdb;
return " $where AND {$wpdb->posts}.post_status != 'private' ";
}