2012-11-15 44 views
1

我有Wordpress自定義頁面的問題。我想展示具體類別的新聞。Wordpress query_posts

<?php 
/** 
* Template Name: Tutorials 
* 
* A custom page template without sidebar. 
* 
* The "Template Name:" bit above allows this to be selectable 
* from a dropdown menu on the edit page screen. 
* 
* @package WordPress 
* @subpackage Twenty_Ten 
* @since Twenty Ten 1.0 
*/ 

get_header("custom"); ?> 

     <div id="container"> 
      <div id="content" role="main"> 
      <?php query_posts("cat=4,5,6"); ?> 
      <?php 
      /* Run the loop to output the posts. 
      * If you want to overload this in a child theme then include a file 
      * called loop-index.php and that will be used instead. 
      */ 
      get_template_part('loop', 'index'); 
      ?> 
      </div><!-- #content --> 
      <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?> 
     </div><!-- #container --> 

<?php get_sidebar(); ?> 

<?php get_footer(); ?> 

問題是自定義頁面沒有添加正確的文件(?)。它(例如)不要添加正確的「更多」的鏈接(它不像前面的頁面),不要使用CodeColorer(高亮代碼插件)等等。有什麼問題?如何解決它?我想讓新聞看起來像在首頁。

loop.php

<?php 
/** 
* The loop that displays posts. 
* 
* The loop displays the posts and the post content. See 
* http://codex.wordpress.org/The_Loop to understand it and 
* http://codex.wordpress.org/Template_Tags to understand 
* the tags used in it. 
* 
* This can be overridden in child themes with loop.php or 
* loop-template.php, where 'template' is the loop context 
* requested by a template. For example, loop-index.php would 
* be used if it exists and we ask for the loop with: 
* <code>get_template_part('loop', 'index');</code> 
* 
* @package WordPress 
* @subpackage Twenty_Ten 
* @since Twenty Ten 1.0 
*/ 
?> 

<?php /* Display navigation to next/previous pages when applicable */ ?> 
<?php if ($wp_query->max_num_pages > 1) : ?> 
    <div id="nav-above" class="navigation"> 
     <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&larr;</span> Older posts', 'twentyten')); ?></div> 
     <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten')); ?></div> 
    </div><!-- #nav-above --> 
<?php endif; ?> 

<?php /* If there are no posts to display, such as an empty archive page */ ?> 
<?php if (! have_posts()) : ?> 
    <div id="post-0" class="post error404 not-found"> 
     <h1 class="entry-title"><?php _e('Not Found', 'twentyten'); ?></h1> 
     <div class="entry-content"> 
      <p><?php _e('Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyten'); ?></p> 
      <?php get_search_form(); ?> 
     </div><!-- .entry-content --> 
    </div><!-- #post-0 --> 
<?php endif; ?> 

<?php 
    /* Start the Loop. 
    * 
    * In Twenty Ten we use the same loop in multiple contexts. 
    * It is broken into three main parts: when we're displaying 
    * posts that are in the gallery category, when we're displaying 
    * posts in the asides category, and finally all other posts. 
    * 
    * Additionally, we sometimes check for whether we are on an 
    * archive page, a search page, etc., allowing for small differences 
    * in the loop on each template without actually duplicating 
    * the rest of the loop that is shared. 
    * 
    * Without further ado, the loop: 
    */ ?> 
<?php while (have_posts()) : the_post(); ?> 

<?php /* How to display posts of the Gallery format. The gallery category is the old way. */ ?> 

    <?php if ((function_exists('get_post_format') && 'gallery' == get_post_format($post->ID)) || in_category(_x('gallery', 'gallery category slug', 'twentyten'))) : ?> 
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
      <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf(esc_attr__('Permalink to %s', 'twentyten'), the_title_attribute('echo=0')); ?>" rel="bookmark"><?php the_title(); ?></a><span class="data"><?php twentyten_posted_on(); ?></span></h2> 

      <!--<div class="entry-meta"> 
       <?php twentyten_posted_on(); ?> 
      </div>--><!-- .entry-meta --> 

      <div class="entry-content"> 
<?php if (post_password_required()) : ?> 
       <?php the_content(); ?> 
<?php else : ?> 
       <?php 
        $images = get_children(array('post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999)); 
        if ($images) : 
         $total_images = count($images); 
         $image = array_shift($images); 
         $image_img_tag = wp_get_attachment_image($image->ID, 'thumbnail'); 
       ?> 
         <div class="gallery-thumb"> 
          <a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a> 
         </div><!-- .gallery-thumb --> 
         <p><em><?php printf(_n('This gallery contains <a %1$s>%2$s photo</a>.', 'This gallery contains <a %1$s>%2$s photos</a>.', $total_images, 'twentyten'), 
           'href="' . get_permalink() . '" title="' . sprintf(esc_attr__('Permalink to %s', 'twentyten'), the_title_attribute('echo=0')) . '" rel="bookmark"', 
           number_format_i18n($total_images) 
          ); ?></em></p> 
       <?php endif; ?> 
         <?php the_excerpt(); ?> 
<?php endif; ?> 
      </div><!-- .entry-content --> 

      <div class="entry-utility"> 
      <?php if (function_exists('get_post_format') && 'gallery' == get_post_format($post->ID)) : ?> 
       <a href="<?php echo get_post_format_link('gallery'); ?>" title="<?php esc_attr_e('View Galleries', 'twentyten'); ?>"><?php _e('More Galleries', 'twentyten'); ?></a> 
       <span class="meta-sep">|</span> 
      <?php elseif (in_category(_x('gallery', 'gallery category slug', 'twentyten'))) : ?> 
       <a href="<?php echo get_term_link(_x('gallery', 'gallery category slug', 'twentyten'), 'category'); ?>" title="<?php esc_attr_e('View posts in the Gallery category', 'twentyten'); ?>"><?php _e('More Galleries', 'twentyten'); ?></a> 
       <span class="meta-sep">|</span> 
      <?php endif; ?> 
       <span class="comments-link"><?php comments_popup_link(__('Leave a comment', 'twentyten'), __('1 Comment', 'twentyten'), __('% Comments', 'twentyten')); ?></span> 
       <?php edit_post_link(__('Edit', 'twentyten'), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?> 
      </div><!-- .entry-utility --> 
     </div><!-- #post-## --> 

<?php /* How to display posts of the Aside format. The asides category is the old way. */ ?> 

    <?php elseif ((function_exists('get_post_format') && 'aside' == get_post_format($post->ID)) || in_category(_x('asides', 'asides category slug', 'twentyten')) ) : ?> 
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 

     <?php if (is_archive() || is_search()) : // Display excerpts for archives and search. ?> 
      <div class="entry-summary"> 
       <?php the_excerpt(); ?> 
      </div><!-- .entry-summary --> 
     <?php else : ?> 
      <div class="entry-content"> 
       <?php the_content(__('Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten')); ?> 
      </div><!-- .entry-content --> 
     <?php endif; ?> 

      <div class="entry-utility"> 
       <?php twentyten_posted_on(); ?> 
       <span class="meta-sep">|</span> 
       <span class="comments-link"><?php comments_popup_link(__('Komentarze', 'twentyten'), __('1 Komentarz', 'twentyten'), __('% Komentarze', 'twentyten')); ?></span> 
       <?php edit_post_link(__('Edit', 'twentyten'), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?> 
      </div><!-- .entry-utility --> 
     </div><!-- #post-## --> 

<?php /* How to display all other posts. */ ?> 

    <?php else : ?> 
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 


      <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf(esc_attr__('Permalink to %s', 'twentyten'), the_title_attribute('echo=0')); ?>" rel="bookmark"><?php the_title(); ?></a><span class="data"><?php the_time(__('j')); ?><span class="miesiac"> <?php the_time(__('M')); ?></span></span></h2> 
        <?php 
         printf(__('<span class="meta-sep">by</span> %1$s', 'pongsari'), 
          sprintf('<span class="autor"><a class="url fn n" href="%1$s" title="%2$s">%3$s</a></span>', 
           get_author_posts_url(get_the_author_meta('ID')), 
           sprintf(esc_attr__('View all posts by %s', 'pongsari'), get_the_author()), 
           get_the_author() 
          ) 
         ); 
        ?> 
     <!-- <div class="entry-meta"> 
       <?php twentyten_posted_on(); ?> 
      </div>--> 
      <!-- .entry-meta --> 

    <?php if (is_archive() || is_search()) : // Only display excerpts for archives and search. ?> 
      <div class="entry-summary"> 
       <?php the_excerpt(); ?> 
      </div><!-- .entry-summary --> 
    <?php else : ?> 
      <div class="entry-content"> 
       <?php the_content(__('Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten')); ?> 
       <?php wp_link_pages(array('before' => '<div class="page-link">' . __('Pages:', 'twentyten'), 'after' => '</div>')); ?> 
      </div><!-- .entry-content --> 
    <?php endif; ?> 

      <div class="entry-utility"> 
       <?php if (count(get_the_category())) : ?> 
        <span class="cat-links"> 
         <?php printf(__('<span class="%1$s">Kategoria</span> %2$s', 'twentyten'), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list(', ')); ?> 
        </span> 
        <span class="meta-sep">|</span> 
       <?php endif; ?> 
       <?php 
        $tags_list = get_the_tag_list('', ', '); 
        if ($tags_list): 
       ?> 
        <span class="tag-links"> 
         <?php printf(__('<span class="%1$s">Tagged</span> %2$s', 'twentyten'), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list); ?> 
        </span> 
        <span class="meta-sep">|</span> 
       <?php endif; ?> 
       <span class="comments-link"><?php comments_popup_link(__('Komentarze', 'twentyten'), __('1 Komentarz', 'twentyten'), __('% Komentarze', 'twentyten')); ?></span> 
       <?php edit_post_link(__('Edit', 'twentyten'), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?> 
      </div><!-- .entry-utility --> 
     </div><!-- #post-## --> 

     <?php comments_template('', true); ?> 

    <?php endif; // This was the if statement that broke the loop into three parts based on categories. ?> 

<?php endwhile; // End the loop. Whew. ?> 

<?php /* Display navigation to next/previous pages when applicable */ ?> 
<?php if ( $wp_query->max_num_pages > 1) : ?> 
       <div id="nav-below" class="navigation"> 
        <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&larr;</span> Older posts', 'twentyten')); ?></div> 
        <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten')); ?></div> 
       </div><!-- #nav-below --> 
<?php endif; ?> 
+0

我們需要loop-index.php的代碼來弄清楚。 – barakadam

+0

這不起作用。你是那個應該有點? (。) – Amay

+0

send loop-index.php – barakadam

回答

2

好正常工作時,我測試了一下,但我知道你沒有得到你期待的結果。所以讓我們一步一步地考慮一下。第一個問題:你說這是「loop.php」。我希望它不是,因爲get_template_part('loop', 'index')不叫loop.php,但loop-index.php。所以你應該顯示loop-index.php。 下一頁:您看到「更多」鏈接與您的主頁不同。它在主頁上如何顯示,如何在此頁面上顯示?

+0

這是標準的二十個循環和代碼。所以它是('loop','index'),還有loop.php。沒有loop-index.php。更多的鏈接有不同的HTML代碼,我可以看到,主頁從functions.php,並從loop.php定製 – Amay

+0

所以我忘了我添加一些函數function.php add_filter('the_content_more_link', 'handle_more_link',10,2); function handle_more_link($ link,$ link_text){ return str_replace($ link_text,'Czytaj dalej',$ link); } – Amay

+0

好的,所以我將('loop','index')更改爲('loop','')。它使CodeColorer正常工作。更多的鏈接仍然不起作用,但似乎這是我的錯......好吧,無論如何thx幫助。 – Amay