web-dev-qa-db-fra.com

Cacher une page dans la fin de l'admin sans plugin?

Je crée une série de pages dans lesquelles iFrames est incorporé, mais il semble que la seule façon de le faire dans Wordpress (c'est-à-dire à l'aide du système de templates) consiste à créer des pages dans la partie administrateur, puis à créer des modèles individuels pour chacune de ces pages. .

Est-il possible de cacher ces pages à l'administrateur sans plugin? Je ne vois pas le besoin pour le client de voir ces pages quand il ne peut rien modifier.

Merci,

osu

2
Osu

vous pouvez utiliser le crochet de filtre parse_query pour exclure vos pages à l'aide de l'attribut post__not_in

add_filter( 'parse_query', 'exclude_pages_from_admin' );
function exclude_pages_from_admin($query) {
    global $pagenow,$post_type;
    if (is_admin() && $pagenow=='edit.php' && $post_type =='page') {
        $query->query_vars['post__not_in'] = array('21','22','23');
    }
}

cela exclura les pages avec les identifiants de 21,22,23

et pour vous assurer que ces pages ne seront pas incluses dans le serveur avec wp_list_pages, vous pouvez utiliser le crochet de filtre wp_list_pages_excludes:

 add_filter('wp_list_pages_excludes', 'exclude_from_wp_list_pages');
 function exclude_from_wp_list_pages($exclude_array){
    $exclude_array = $exclude_array + array('21','22','23');
    return $exclude_array;
 }
5
Bainternet