2013-09-10 2 views
2

WordPress 페이지에 맞춤 게시물을 표시하는 방법에 대해 인터넷에 지금 많은 질문이 있습니다. 나는 here에서 튜토리얼을 따라 갔다. WordPress 홈페이지에 맞춤 게시물을 표시하는 방법은 무엇입니까?

1.

나는 내가 분류

등록

add_action('init', 'portfolio_register'); 

function portfolio_register() {  
    $labels = array(
     'name' => _x('Portofoliu', 'portfolio'), 
     'singular_name' => _x('Portfolio Item', 'post type singular name'), 
     'add_new' => _x('Adauga proiect', 'portfolio item'), 
     'add_new_item' => __('Adauga un proiect la portofoliu'), 
     'edit_item' => __('Edit Portfolio Item'), 
     'new_item' => __('New Portfolio Item'), 
     'view_item' => __('View Portfolio Item'), 
     'search_items' => __('Search Portfolio'), 
     'not_found' => __('Nothing found'), 
     'not_found_in_trash' => __('Nothing found in Trash'), 
     'parent_item_colon' => '' 
    );  
    $args = array(
     'labels' => $labels, 
     'public' => true, 
     'publicly_queryable' => true, 
     'show_ui' => true, 
     'query_var' => true, 
     'menu_icon' => get_stylesheet_directory_uri() . '/article16.png', 
     'rewrite' => true, 
     'capability_type' => 'post', 
     'hierarchical' => false, 
     'menu_position' => null, 
     'supports' => array('title','editor','thumbnail') 
    );  
    register_post_type('portfolio' , $args); 
} 

2. 사용자 정의 게시물을 등록

register_taxonomy("Skills", array("portfolio"), array("hierarchical" => true, "label" => "Platforme", "singular_label" => "Platforma", "rewrite" => true)); 

2. 내 프론트 페이지 코드는 다음과 같습니다

<div id="primary" class="site-content"> 
     <div id="content" role="main"> 
     <?php if (have_posts()) : ?> 
      <?php /* Start the Loop */ ?> 
      <?php while (have_posts()) : the_post(); ?> 
       <?php get_template_part('content', get_post_format()); ?> 
      <?php endwhile; ?> 
      <?php twentytwelve_content_nav('nav-below'); ?> 

     <?php else : ?> 
      <article id="post-0" class="post no-results not-found"> 
      <?php if (current_user_can('edit_posts')) : 
       // Show a different message to a logged-in user who can add posts. 
      ?> 
       <header class="entry-header"> 
        <h1 class="entry-title"><?php _e('No posts to display', 'twentytwelve'); ?></h1> 
       </header> 
       <div class="entry-content"> 
        <p><?php printf(__('Ready to publish your first post? <a href="%s">Get started here</a>.', 'twentytwelve'), admin_url('post-new.php')); ?></p> 
       </div> 

      <?php else : 
       // Show the default message to everyone else. 
      ?> 
       <header class="entry-header"> 
        <h1 class="entry-title"><?php _e('Nothing Found', 'twentytwelve'); ?></h1> 
       </header> 
       <div class="entry-content"> 
        <p><?php _e('Apologies, but no results were found. Perhaps searching will help find a related post.', 'twentytwelve'); ?></p> 
        <?php get_search_form(); ?> 
       </div> 
      <?php endif; // end current_user_can() check ?> 
      </article> 

     <?php endif; // end have_posts() check ?> 
     </div> 
    </div> 

내 관리자에게 맞춤 게시글 및 분류가 있지만 내게 포트폴리오 페이지에 이것을 표시하는 방법은 무엇입니까?

답변

1
<?php 
    $args = array(
     'tax_query' => array(
       array(

       'taxonomy' => 'Skills', 

       'field' => 'id', 

       'terms' => '27' // disfine your category id 

      ) 
     ), 
     'post_type'=>'portfolio', 
     'order_by'=>'date', 
     'order'=>'DESC', 
     'posts_per_page'=>-1 //no of post -1 for no limit 
); 
    query_posts($args); 
    while (have_posts()) : the_post(); 
?> 
    <li> 
     <p class="date"><?php echo get_the_date('F j, Y'); ?></p> 
     <a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a> 
    </li> 
<?php 
endwhile; 
wp_reset_query(); 
?> 
0

나는 그 문제가 있었다. 이 코드는 나를 위해 작동 :

<?php 
$args = array('post_type' => 'ENTER YOU POST TYPE HERE'); 
$loop = new WP_Query($args); 
while ($loop->have_posts()) : $loop->the_post(); 

the_content(); 

endwhile; 
1

내 프론트 페이지 코드에서이

<div id="primary" class="site-content"> 
     <div id="content" role="main"> 
     <?php 
     global $wp_query; 
     $args = array(
      'post_type' => 'portfolio' 
     ); 

     $temp_query = $wp_query; 
     $wp_query = NULL; 
     $wp_query = new WP_Query($args); 

     if (have_posts()) : ?> 
      <?php /* Start the Loop */ ?> 
      <?php while (have_posts()) : the_post(); ?> 
       <?php get_template_part('content', get_post_format()); ?> 
      <?php endwhile; ?> 
      <?php twentytwelve_content_nav('nav-below'); ?> 

     <?php else : ?> 
      <article id="post-0" class="post no-results not-found"> 
      <?php if (current_user_can('edit_posts')) : 
       // Show a different message to a logged-in user who can add posts. 
      ?> 
       <header class="entry-header"> 
        <h1 class="entry-title"><?php _e('No posts to display', 'twentytwelve'); ?></h1> 
       </header> 
       <div class="entry-content"> 
        <p><?php printf(__('Ready to publish your first post? <a href="%s">Get started here</a>.', 'twentytwelve'), admin_url('post-new.php')); ?></p> 
       </div> 

      <?php else : 
       // Show the default message to everyone else. 
      ?> 
       <header class="entry-header"> 
        <h1 class="entry-title"><?php _e('Nothing Found', 'twentytwelve'); ?></h1> 
       </header> 
       <div class="entry-content"> 
        <p><?php _e('Apologies, but no results were found. Perhaps searching will help find a related post.', 'twentytwelve'); ?></p> 
        <?php get_search_form(); ?> 
       </div> 
      <?php endif; // end current_user_can() check ?> 
      </article> 

     <?php endif; // end have_posts() check ?> 
     </div> 
    </div> 
1

을 시도입니다 : 코드

<?php if (have_posts()) : ?> 

사용 이의 워드 프레스 사본을 수행하기 전에 query_posts

관련 문제