2014-03-06 6 views
0

모두.Wordpress 루프에서로드 된 페이지에 템플릿 적용

질문 - 한 페이지 테마로로드 할 때 페이지에 대한 페이지 속성 '페이지 속성'에 지정된 사용자 정의 Wordpress 템플릿을로드하는 방법은 무엇입니까?

저는 여러 아티스트를 관리하기 위해 하나의 백 엔드가있는 특정 아티스트 (이 경우, 다른 밴드)에 대한 모든 정보를 포함하는 페이지에 클라이언트가 링크 할 수있는 맞춤 Wordpress 테마를 만들고 있습니다. 따라서 클라이언트가 자신의 연락처를 보내 "bio", "music", "video"등의 밴드 "bar"에 대한 정보를 찾고 싶다면 그는 www.foo.com/bar에 링크를 보낼 것입니다. 그럼 '바'페이지 (생체, 음악, 비디오 등)의 하위 페이지를 모두로드하십시오.

각 아티스트 페이지마다 맞춤 템플릿을 사용하고 있습니다. 하위 페이지를 거의 카테고리 페이지처럼 사이트에 표시하십시오. (새로운 WP_Query와 'post_type': 'page'사용). 문제는 한 페이지짜리 사이트에로드 된 각 서브 페이지에 대해로드 할 사용자 지정 템플릿을 얻는 것입니다. 필자가 필요로하는 이유는 "뮤직"이 뮤직 플레이어의 위젯 공간을 필요로하기 때문입니다. 예를 들어 "Bios"는 WISIWYG입니다.

템플릿이 이미 잠겨 있습니다. 루프를 통과 할 때 각 게시물의 템플릿을로드하는 방법 만 있으면됩니다. 페이지를 직접 볼 때 페이지 템플리트는 작동하지만 페이지가 루프에로드 될 때이 템플리트는 무시됩니다.

코드가 필요한 경우 알려주십시오. 이것은 코드가 복잡하게되는 개념적 질문과 더 흡사합니다.

답변

0

당신이 묻고있는 것이 확실하지 않지만 wp_query는 데이터베이스 쿼리입니다. 하나의 템플릿에 내용을로드합니다. 예를 들어 사용자 정의 게시물 템플릿 (single-custom_post)은 자식 페이지를 템플릿에로드하면이를 처리 할 방법이 필요합니다. 페이지를 사용하여 저장시 템플릿을 지정하면 루프가 데이터베이스 필드를 가져옵니다.

템플릿을 포스트 (또는 페이지) 메타에 저장하고 가변 컨텐츠를 원한다면이 템플릿을 가져 와서 내용을로드 할 수 있습니다. 예 :

$videohtml= "<div class="video"> echo "<iframe width="420" height="315" src="<php echo $video; ?>" frameborder="0" allowfullscreen></iframe>" 
    update_post_meta($postid, "videohtml", $videohtml); 

    if ($video) { 
    $template=get_post_meta($postid, "videohtml", true); 
    echo $template; 
    } 

이상의 고급, 사용 get_template_part는()

(이에 대한 사본 참조)
관련 문제