如何列出Wordpress密码保护页面?

时间:2013-10-02 12:46:39

标签: php wordpress wordpress-plugin wordpress-theming

在wordpress中是否有返回wordpress网站中所有受密码保护的页面的排序列表?

如果是这样,我该怎么做呢?

我基本上想要一个页面显示所有受密码保护的页面的列表...

谢谢! :)

2 个答案:

答案 0 :(得分:0)

你可以试试这个

$password_pages = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND post_password !=''"); 
wp_list_pages('include=' . implode(",", $password_pages)); 

答案 1 :(得分:-1)

// Filter to hide protected posts
function exclude_protected($where) {
    global $wpdb;
    return $where .= " AND {$wpdb->posts}.post_password = '' ";
}

// Decide where to display them
function exclude_protected_action($query) {
    if( !is_single() && !is_page() && !is_admin() ) {
        add_filter( 'posts_where', 'exclude_protected' );
    }
}

// Action to queue the filter at the right time
add_action('pre_get_posts', 'exclude_protected_action');

我建议使用过滤器,上面的代码将排除所有受密码保护的帖子,通过一些编辑,您将能够获得所有受密码保护的帖子。

更多信息:https://codex.wordpress.org/Using_Password_Protection#Hiding_Password_Protected_Posts