2017-04-05 3 views
1

Wordpress에서 /ecadmin/logged-user/ URL을 사용하여 액세스 할 수 있도록 부모 페이지가 ecadminlogged-user 페이지가 있습니다.특정 중첩 페이지 용 Wordpress 템플릿

부모 페이지가 있으므로 I (또는 다른 사용자)는 동일한 상위 페이지 아래에 중첩되지 않은 한 동일한 슬러그 logged-user이있는 페이지를 만들 수 있습니다.

이제이 템플릿은 logged user이라는 이름의 다른 페이지에 계층 적으로 관계없이 적용될 수 있으므로 테마 폴더에 단일 페이지 템플릿 page-logged-user.php을 만들 수 없다는 문제가 있습니다.

부모 페이지를 참조하는 방식으로 템플릿 파일의 이름을 지정하는 방법이 있습니까? 예 : page-ecadmin-logged-user.php

답변

1

존재하지 않는을 기대되지만, 당신이 원하는 것을 달성 할 수있는 아주 간단한 방법이 특징 :

당신은 사용자 정의 페이지 템플릿 [무엇이든 - 당신 - 희망] .PHP를 만들 수는 워드 프레스에있는 "페이지"에 대한 메타 상자 속성 템플릿 페이지에서 사용할 수있는 헤더

/* 
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

그게 통증이야. offhand로 생각할 수있는 유일한 해결책은 page-logged-user.php 파일에 조건부 코드를 작성하는 것입니다. post_parent slug === ecadmin 그런 다음 출력 된 코드가 정상적인 페이지 코드 만 표시하면됩니다. – Paul