Исключить защищенные паролем сообщения со страницы WordPress - PullRequest
1 голос
/ 26 июля 2011

Может кто-нибудь объяснить, как я могу изменить приведенный ниже код, чтобы исключить сообщения, которые защищены паролем? Я знаю, что могу сделать это с помощью оператора if в операторе while, но я хочу исключить их из точки WP_Query.

$pq = new WP_Query(array('post_type' => $ptype, 'showposts' => $pshow ));

1 Ответ

2 голосов
/ 24 сентября 2011

Вы можете сделать это с помощью фильтра post_where непосредственно перед выполнением запроса:

function getNonPasswordedPosts(){    
    // Add the filter to exclude passworded posts
    add_filter('posts_where', 'excludePassworded');

    // Query for the posts
    $pq = new WP_Query(array('post_type' => $ptype, 'showposts' => $pshow ));

    // Remove the filter so that other WP queries don't exclude passworded posts
    remove_filter('posts_where', 'excludePassworded');

    // iterate over returned posts and do fancy stuff    
}

function excludePassworded($where) {
    $where .= " AND post_password = '' ";
    return $where;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...