2013-09-10 7 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()) : ?> 

использование следовать кодекс WordPress для этого query_posts

Смежные вопросы