2017-04-05 5 views
1

WordpressにはというURLでアクセスできるように、ecadminの親ページを持つlogged-userのスラッグを持つページがあります。特定の入れ子になったページ用のWordpressテンプレート

親ページがあるため、同じ親ページの下にネストされていない限り、I(または他のユーザー)は同じスラッグのページを作成できます。logged-user

テーマのフォルダ内に単一のページテンプレートpage-logged-user.phpを作成できないという問題がありました。このテンプレートは、潜在的に階層構造に属している他のページlogged userに適用できます。

親ページを参照するような方法でテンプレートファイルに名前を付ける方法はありますか?例えば。 page-ecadmin-logged-user.php

答えて

1

あなたが存在しないために望んでいるが、あなたは何をしたい達成するために非常に簡単な方法があります機能:

カスタムページテンプレート[どんな-あなた-ます] .PHPを作成することができますが、そしてWordpressの内いずれかの「ページ」のメタボックス属性テンプレートがページで利用できるようになることを見出し

/* 
Template Name: Logged In User 
*/ 

でこのコメントを置きますが、そのメタボックスで選択した場合にのみ、特定のページに適用されます。

注:

すべてのコンテンツ作成者がページへのアクセス権を持っているが、デフォルトではメタボックス属性。 管理者ではありません誰からメタボックス属性ユーザーが不適切にそのテンプレートを適用する心配している場合は、ページを隠すことができます:あなたの返信用

function remove_post_custom_fields() { 

    if (!current_user_can('create_users')){ 
     remove_meta_box('pageparentdiv' , 'post' , 'normal'); 
    } 
} 
add_action('admin_menu' , 'remove_post_custom_fields'); 

http://www.wpbeginner.com/wp-themes/how-to-create-a-custom-page-in-wordpress/

0

あなたは、そのページに固有のpage- $ id.phpを使ってみることができます。

+0

おかげで、私はすでにそのことを考え、私は開発環境に取り組んでいます。私は展開時にIDは決して同じではありません。 –

+0

それは大丈夫です。私が非公開に考えることができる唯一の他の解決策は、あなたのpage-logged-user.phpファイルにいくつかの条件付きコードを書くことです。 post_parent slug === ecadminの場合、ログインしたコードを出力すると、通常のページコードが表示されます。 – Paul

関連する問題