2016-11-19 2 views
0

Ich baue ein Thema und auf meiner category.php Seite möchte ich mehrere vollständige Beiträge zeigen (sagen wir 3, aber müssen in der Lage sein zu ändern dies zu 2 oder 1 leicht), und dann den Rest der Beiträge in der Kategorie als Titellinks.Zeigen Sie drei vollständige Beiträge auf der Seite category, dann Rest der Beiträge als Titel

Ich habe ziemlich viel HTML in meiner Schleife für das Stylen meiner Posts und das Hinzufügen von benutzerdefinierten Feldern, so dass es den gesamten Code tut, aber so sieht meine category.php-Seite jetzt aus. Ich habe ein paar Dinge ausprobiert, die nicht funktioniert haben, also habe ich das geändert, um meinen ursprünglichen Code zu zeigen, der nur eine normale Liste von Beiträgen hat. Ich bin etwas neu in der Bearbeitung von The Loop und würde daher so viel Erklärung/Klarheit wie möglich zu schätzen wissen.

<?php 
    /** 
    * The template for displaying Category Archive pages. 
    */ 

    get_header(); ?> 

    <div id="primary" class="<?php 
    $category = get_the_category(); 
      echo $category[0]->cat_name; 
      ?>"> 


    <div id="feature-container" class="full-width-container"> 
     <div class="full-width-container content-page" id="tagline-wrapper"> 
       <div id="left-black"></div> 
       <div class="page-width-container"> 
        <div id="tagline-box"> 
         <h1 class="category-title">Transactions</h1> 
        </div> 
       </div> 
      </div> 
    </div>   

    <div id="content-wrapper"> 

     <div id="project-menu" class="page-width-container"> 
      <?php wp_nav_menu(array('theme_location' => 'project-types')); ?> 
     </div> 



     <div id="content" role="main" > 



    <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 


      <div class="story-container" class="module-container"> 
       <div class="our-story"> 
        <div class="story-image"> 

      <?php 
        // check if the post has a Post Thumbnail assigned to it. 
       if (has_post_thumbnail()) { 
        the_post_thumbnail(); 
       } 
      ?> 

        </div> 
        <div class="story-text"> 
         <article class="post" id="post-<?php the_ID(); ?>"> 
          <div class="entry-container"> 

       <h2><a href="<?php the_permalink() ?>#content" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> 

       <div class="project-details"> 

        <p><span class="details-location"><?php 
         global $wp_query; 
         $postid = $wp_query->post->ID; 
         echo get_post_meta($postid, '_project-location', true); 
         wp_reset_query(); 
         ?></span><br /> 
         <span class="details-funding"><?php 
         global $wp_query; 
         $postid = $wp_query->post->ID; 
         echo get_post_meta($postid, '_funding-type', true); 
         wp_reset_query(); 
         ?> | <?php 
         global $wp_query; 
         $postid = $wp_query->post->ID; 
         echo get_post_meta($postid, '_funding-source', true); 
         wp_reset_query(); 
         ?></span><br /> 
         <span class="details-value"><?php 
         global $wp_query; 
         $postid = $wp_query->post->ID; 
         echo get_post_meta($postid, '_project-value', true); 
         wp_reset_query(); 
         ?></span></p> 

       </div> 



      <div class="entry"> 



       <?php the_content(); ?> 



       <?php wp_link_pages(array('before' => __('Pages: ','html5reset'), 'next_or_number' => 'number')); ?> 

      </div> 

      <?php edit_post_link(__('Edit this entry','html5reset'), '<p>', '</p>'); ?> 

      </div> 

     </article> 

        </div> 
       </div> 

      </div> 


      <?php endwhile; endif; ?> 


</div><!-- #content --> 
     </div> 
     </div><!-- #primary --> 

<?php get_footer(); ?> 
+0

Ändern Sie $ per_page auf 3, um 3 Posts zu erhalten, und verwenden Sie einen Zähler in der while-Schleife, um zu sehen, ob der Zähler größer ist als 2, rufen Sie the_content() auf. @ Devonanne –

+0

Vielen Dank - können Sie ein Beispiel geben den obigen Code ändern? Noch nicht ganz klar welche Teile zu ändern sind. – Devonanne

+0

Hallo, Sie können eine Schleife mit der Bedingung erstellen –

Antwort

0

Sie können über, was mit folgendem Code achive: Zuerst Sie eine Schleife haben alle Post und und Zähler setzen, wenn es mehr als 2 Anschlag erreicht einen content.but Titel gedruckt wird es immer sein.

 <?php $countPost=1;?> 
     <?php if (have_posts()) : ?> 
     <?php while (have_posts()) : the_post(); ?> 
     <div class="post"> 
     <h2 id="post-<?php the_ID(); ?>"> 
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> 

     <?php if($countPost>2) : /*Condition for Content*/ 
     the_content(); 
     endif; 
     ?> 
      </div> 
     <?php endwhile; ?> 
    <div class="navigation"> 
    <div class="alignleft"> 
    <?php posts_nav_link('','','&laquo; Previous Entries') ?> 
    </div> 
    <div class="alignright"> 
    <?php posts_nav_link('','Next Entries &raquo;','') ?> 
    </div> 
     </div> 
    <?php else : ?> 
     <h2 class="center">Not Found</h2> 
    <p class="center"><?php _e("Sorry, but you are looking for something that isn't here."); ?></p> 
     <?php endif; ?> 
    </div> 

Für weitere Informationen siehe auch: https://codex.wordpress.org/The_Loop_in_Action

+0

Das hat bei mir leider nicht funktioniert - es zeigt nur Titel nur für alle Beiträge. – Devonanne

+0

Kannst du bitte category.php hier hochladen? –

+0

Ja, ich habe Inhalt und Titel. Ich möchte nur alles in #content div nur für die ersten drei Beiträge anzeigen können, und darunter eine Liste mit Posttiteln für den Rest der Beiträge in der Kategorie. Leider kann ich keinen Link angeben, der momentan nur lokal bearbeitet wird. Ich kann vielleicht eine Kopie online für Sie, wenn Sie wirklich denken, dass es helfen wird :) – Devonanne

0

dachte ich alleine ein bisschen eine Umgehungslösung aus, obwohl es auf der Verwendung plugins/Widgets basiert, welche nicht das, was ich bevorzugen würde.

Ich habe einfach die Einstellungen zum Lesen auf 2 Posts eingestellt, und dann unter dem Loop habe ich einen Widget-Bereich hinzugefügt und das Widget Kürzliche Posts erweitert, um eine Liste von Titeln/Links anzuzeigen. Mit diesem Widget können Sie eine bestimmte Anzahl von Posts in der Liste überspringen, also setze ich es so, dass es bei Post # 3 startet. Es gab keine Option, nur Beiträge aus der aktuellen Kategorie anzuzeigen, also musste ich auch das Widget Kontext-Plugin verwenden und einzelne Widgets mit einer bestimmten Kategorie erstellen, die auf jeder entsprechenden Kategorieseite angezeigt werden. Wie gesagt, ein bisschen eine verworrene Lösung, aber das Endergebnis ist genau das, was ich erreichen wollte.

Verwandte Themen