web-dev-qa-db-ja.com

管理者側でプラグインなしでページを隠す?

IFrameが埋め込まれた一連のページを作成していますが、Wordpress内でこれを行う(テンプレートシステムを使用する)唯一の方法は、管理者側でページを作成してから、それらの各ページに個別のテンプレートを作成することです。

プラグインなしでadminからそれらのページを隠すことは可能ですか?私は彼らがそれらの中で何も編集することができないときクライアントがそれらのページを見る必要はないと思います。

ありがとう、

おす

2
Osu

post__not_in属性を使ってあなたのページを除外するためにparse_queryフィルタフックを使うことができます

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');
    }
}

これは、21、22、23のIDを持つページを除外します。

wp_list_pagesを使ってこのページがフロントエンドに含まれないようにするには、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