2012-02-20 2 views
0

커스텀 포스트 유형을 만들고 있지만 모두 잘 작동하고 있습니다. 그러나 어떻게 만드는지 간단하게 질문하고 있습니다.워드 프레스 포스트 유형 만들기로 작업하기

나는 내 fuctions.php 파일에 내 맞춤 게시 유형을 작성하고 single-speakers.php 파일을 만들었습니다. 내 맞춤 게시 유형 스피커 페이지를 기본 탐색의 '안전 스피커'탭으로 연결하려면 어떻게해야합니까? 어떤 도움과이나 조언은 감사

<?php get_template_part('header', '2');  // Header #2 (header-2.php) ?> 

<?php query_posts('post_type=speakers'); ?> 
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

      <div id="speakersBox" class="clearfix"><?php the_title('<h6>', '</h6>'); ?><br/><?php the_content(); ?></div> 
      <hr> 

    <?php endwhile; endif; ?> 


<?php get_template_part('footer', '2');  // Footer #2 (footer-2.php) ?> 

THIS IS MY SITE

This is the actual link to my custom post type page with my speakers on it

fuctions.php

add_action('init', 'create_my_post_types'); 

function create_my_post_types() { 
    register_post_type('speakers', 
     array(
      'labels' => array(
       'name' => __('Speakers'), 
       'singular_name' => __('Speakers') 
      ), 
      'public' => true, 
     ) 
    ); 
} 

단일 speakers.php!

답변

0

single-speakers.php 단일 스피커 포스트 유형을 표시한다고 가정합니다. 게시물을 확인하여 template_redirect 작업을 추가하십시오. 이것을 functions.php 파일에 넣으십시오. 즉

add_action('template_redirect', 'redirect_to_speaker'); 
function redirect_to_speaker(){ 
    global $post; 
    if(is_single() && $post->post_type == 'speakers'){ 
     include (TEMPLATEPATH . '/single-speakers.php'); 
     exit; 
    } 
} 

template_include이라는 필터를 사용할 수 있습니다. 템플릿에 대한 몇 가지 좋은 정보와 함께이 기사를 읽고, 또한

add_filter('template_include', 'my_speaker_template'); 
function my_speaker_template($template){ 
     global $post; 
     if(is_single() && $post->post_type == 'speakers'){ 
      $template = get_template_directory() . '/single-speakers.php'; 
     } 
     return $template; 
} 

: 사실이 하나를 사용 http://xazure.net/2011/06/tips-snippets/wordpress/changing-wordpress-template-with-template_include/

+0

나는 내 single-speakers.php 파일에 대한 코드에 추가했습니다. 귀하의 코드를 시도했지만 제대로 닫히지 않았습니까? 그것은 폐점 오류가 있다는 것을 말하고 있습니다, 특정 지점에 그것을 넣어야합니까? (필자는 functions.php 파일에 내 사용자 정의 게시 유형 작업을 작성하는 것 위에 있습니다). – kia4567

+0

죄송합니다.이 코드를'functions.php' 파일에 넣는 것을 잊어 버렸습니다. 그리고 코드를 편집했습니다. 지금 시도해보십시오. –

+0

나는 그것을 추가했지만, 나는 그것이 무엇을하기로되어있는지를 잘 이해하지 못하고있다. 이걸 좀 털어 놓을 수 있겠 니? – kia4567

0

좋아요, 나는 방법을 알아 냈어. 나는 single-speakers.php 파일의 정보를 가지고 새로운 템플릿 페이지를 만들었고 (그것을 page-speakers.php라고 부름), 나의 안전 스피커 페이지를 새로운 페이지로 향하게했다. 그것은 위대한 작품!

도움을 주셔서 감사합니다. Naveed 님, 어쨌든 고맙습니다.

관련 문제