2015-09-22 26 views
9
Arbeiten

Ich bin immer noch zu diesem Thema steckt ..Wordpress Blog Paginierung Nicht

Die Paginierung auf meinem Wordpress-Blog funktioniert nicht - http://www.example.com/news

Wenn Sie eine andere Seitennummer klicken Sie die URL aktualisiert (und Seitentitel) korrekt, aber es werden keine anderen Beiträge angezeigt.

Ive versucht:

  • Deaktivieren aller Plug-Ins
  • den Permalink-Struktur ändern
  • Ändern der Anzahl von Blog-Posts in den Einstellungen angezeigt>
  • http://www.example.com/recall-news auf einen anderen Pfad Ändern Lesen zu vermeiden im Konflikt mit einer Postkategorie namens "Nachrichten"

Nichts hat Arbeit Ed für mich.

Ich habe viele Lösungen für eine benutzerdefinierte Abfrage gesehen, aber ich verwende die Posts-Seite, die Sie unter Einstellungen> Lesen> Posts eingestellt haben, also habe ich keinen Code geschrieben, um die Posts auf dieser Seite anzuzeigen.

  • Welche WordPress-Datei ändere ich, um in diesem Fall die Blog-Paginierung zu korrigieren? Ich schätze, ich kann etwas zu functions.php hinzufügen, aber ich habe noch keine Lösung gefunden.

UPDATE: Ich habe die Lösung noch nicht gefunden. Ich weiß, dass ich es schaffen kann, indem ich meine eigene Abfrage schreibe, aber ich möchte mit dem Standard-WP-Blog bleiben.

+2

Auf dem Template/Seite das genau ist. Veröffentlichen Sie auch Ihren Vorlagencode. –

+0

Sie brauchen auf jeden Fall keine benutzerdefinierte Abfrage. ABER, wir müssen Sie den Code aus Ihrer Vorlage, die die "Recall-News" -Seite rendert bereitstellen. Ohne es gibt es keine Möglichkeit für uns, Fehler zu beheben oder zu helfen. –

Antwort

1

Überprüfen Sie Ihre WP-Schleife in der Datei category.php (aka archive.php). Es muss folgende Angaben enthalten:

if (have_posts()) : while (have_posts()) : the_post(); 

und fertig mit:

endwhile; endif; 
+0

Entschuldigung? Kannst du das für mich weiter ausführen? – cpcdev

+0

@pouriya kordaki seine Arbeit ..? – OpenWebWar

0

ich mit den „Beiträgen Seiten“ auch gespielt haben, aber ich bin immer kein Ergebnis.

Nur funktionierende Lösung für mich war eine custome Abfrage in Verbindung mit dem Page-Navi Plugin.

In meiner Vorlage habe ich den folgenden Code:

<?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
    $args = array(
     'post_type'   => 'post', 
     'orderby'   => 'date', 
     'order'    => 'DESC', 
     'post_status'  => 'publish', 
     'posts_per_page' => 5, 
     'paged'    => $paged, 
    ); 
    $q = new WP_Query($args); 

    if ($q->have_posts()) { 
     $displaylist = '<div class="list-group">'; 

     while ($q->have_posts()) { 
      $q->the_post(); 

      // build up your entry 

      unset($displayTag); 
     } 

     $displaylist .= '</div>'; 

     echo($displaylist); 

     wp_pagenavi(array('query' => $q)); 

     wp_reset_postdata(); 
    } 
?> 

Mit dem post_per_page i die Einträge pro Seite verwalten. In While-Schleife baue ich die Einträge auf, die angezeigt werden sollen.

0

Können Sie versuchen, Wp-Pagenavi zum Generieren Ihrer Seitennummerierung zu verwenden? So können wir zumindest prüfen, ob das Problem der Paginierung Standard ist oder nur einige Fehler in der Codierung, der nicht die ausgelagerten Variable füllt diese korrekt

+0

Warum ein Plugin für eine Standard-Paginierung? the_posts_pagination() oder get_the_posts_pagination() sind bereits ab Kern auch paginate_links() verfügbar. –

+0

Weitere Plugins> Seitenladezeit erhöhen und db fetch ... Also max wp core Methoden verwenden wenn möglich ... – OpenWebWar

0

Versuchen

global $wpdb; 

    $pagenum = isset($_GET['pagenum']) ? absint($_GET['pagenum']) : 1; 
    $limit = 20; 
    $offset = ($pagenum - 1) * $limit; 
    //$entries = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}design_information LIMIT $offset, $limit"); 
    $entries = $wpdb->get_results("Select * From design_information ORDER BY id DESC LIMIT $offset, $limit",ARRAY_A); 

echo '<div class="wrap">'; 
<table class="widefat"> 
    <thead> 
     <tr> 
      <th>SNo.</th><th>Layout</th><th>Org Description</th> 
     </tr> 
    </thead> 

    <tbody> 
     <?php if($entries) { ?> 

      <?php 
      $count = 1; 
      $class = ''; 
    //echo "<pre>"; 
    //print_r($entries); 
    for($i=0;$i<count($entries); $i++) 
    { 

$pid=$entries[$i]['id']; 
       $class = ($count % 2 == 0) ? ' class="alternate"' : ''; 
      ?> 
      <tr<?php echo $class; ?>> 
       <td> 
       <?php echo $entries[$i]['id']; 
       //echo $count; 
       $count++;?> 
      </td> 
<td> 
     <?php echo $entries[$i]['layout'];?> 
    </td> 
    <td> 
     <?php echo $entries[$i]['org_description'];?> 
    </td> 

    </tr> 
</table> 
0

Erstellen Sie eine Datei Archiv-learning.php in deinem Thema.

Das post_type bedeuten, "Lernen"

<?php 
 
if (get_query_var('paged')) { 
 
     $paged = get_query_var('paged'); 
 
    } elseif (get_query_var('page')) { 
 
     $paged = get_query_var('page'); 
 
    } else { 
 
     $paged = 1; 
 
    } 
 

 

 
<?php 
 
$custom_args = array(
 
     'post_type'  => 'learning', 
 
     'post_status' => 'public', 
 
     'orderby'  => 'date', 
 
     'order'   =>'DESC',  
 
     'posts_per_page'=>12,//limit 6 
 
     'paged' => $paged 
 
    ); 
 
$wp_query = new WP_Query($custom_args); 
 
$getPosts = get_posts($custom_args); 
 

 
?> 
 
<?php if ($getPosts) : ?> 
 
\t \t \t \t <?php global $post,$wp_query;?> 
 
\t \t \t \t <?php foreach ($getPosts as $post): ?> 
 
\t \t \t \t <?php setup_postdata($post);?> 
 
\t \t \t \t <?php echo "your content here";?> 
 
\t \t \t \t <?php endforeach;?> 
 
\t \t \t \t \t 
 
\t \t \t \t <?php 
 
\t \t \t \t else : 
 
\t \t \t \t \t 
 
\t \t \t \t \t 
 

 
\t \t \t \t endif; 
 
\t \t \t ?> 
 
<div class="pagenation"><?php if (function_exists(custom_pagination)) {custom_pagination($wp_query->max_num_pages,"",$paged);} ?></div></div> 
 
    <?php wp_reset_postdata(); ?>
gehen functions.php Datei und Funktion custom_pagination

function custom_pagination($numpages = '', $pagerange = '', $paged='') { 
 

 
    if (empty($pagerange)) { 
 
    $pagerange = 2; 
 
    } 
 

 
    /* 
 
    * This first part of our function is a fallback 
 
    * for custom pagination inside a regular loop that 
 
    * uses the global $paged and global $wp_query variables. 
 
    * 
 
    * It's good because we can now override default pagination 
 
    * in our theme, and use this function in default queries 
 
    * and custom queries. 
 
    */ 
 
    global $paged; 
 
    if (empty($paged)) { 
 
    $paged = 1; 
 
    } 
 
    if ($numpages == '') { 
 
    global $wp_query; 
 
    $numpages = $wp_query->max_num_pages; 
 
    if(!$numpages) { 
 
     $numpages = 1; 
 
    } 
 
    } 
 

 
    /** 
 
    * We construct the pagination arguments to enter into our paginate_links 
 
    * function. 
 
    */ 
 
    
 
    $pagination_args = array(
 
    'base'   =>add_query_arg('page','%#%'), 
 
    'format'   => 'page/%#%', 
 
    'total'   => $numpages, 
 
    'current'   => $paged, 
 
    'show_all'  => False, 
 
    'end_size'  => 1, 
 
    'mid_size'  => $pagerange, 
 
    'prev_next'  => True, 
 
    'prev_text'  => __('&laquo;'), 
 
    'next_text'  => __('&raquo;'), 
 
    'type'   => 'plain', 
 
    'add_args'  => false, 
 
    'add_fragment' => '' 
 
); 
 

 
    $paginate_links = paginate_links($pagination_args); 
 

 
    if ($paginate_links) { 
 
    echo "<nav class='custom-pagination'>"; 
 
     //echo "<span class='page-numbers page-num'>Page " . $paged . " of " . $numpages . "</span> "; 
 
     echo $paginate_links; 
 
    echo "</nav>"; 
 
    } 
 

 
}

1

Es gibt keine Garantie, dass Ihre schaffen Problem ist WordPress verwandt. Da Sie jedoch keine sehr allgemeine Frage gestellt haben, werde ich Ihnen eine sehr allgemeine Antwort geben. Dies sollte Ihnen helfen, herauszufinden, was falsch ist und es selbst zu lösen.

  1. Auschecken . Laden Sie es herunter und überprüfen Sie die Vorlagen (z. B. index.php, archive.php usw.), um festzustellen, ob etwas fehlt, das Unterstreichungen enthält. Das Schöne an Unterstreichungen ist, dass es alles ist, was man braucht, um ein laufendes Thema ohne Schnickschnack zu kreieren. Also, wenn es da ist und nicht in deinem Code, könnte es sich lohnen, es zu erforschen. Achten Sie besonders auf alle Codebausteine, die sich auf have_posts beziehen.

  2. Es kann nicht wirklich etwas falsch mit Ihrem Thema sein. Versuchen Sie, ein anderes Thema zu testen (z. B. Unterstriche, die Sie bequem heruntergeladen haben), um festzustellen, ob die Seitennummerierung funktioniert und intakt ist. Wenn dies der Fall ist, haben Sie Glück ... Das bedeutet, Sie müssen nur ein bisschen tiefer graben, um zu verstehen, was mit Ihrem Code falsch ist, was mit Unterstreichungen übereinstimmt.

  3. Wenn Sie festgestellt haben, dass mit Ihrem Thema nicht etwas nicht stimmt, aber in Wirklichkeit etwas mit Ihrer Serverkonfiguration nicht stimmt, ist das auch eine Erleichterung, um nur einige Worte zu nennen. Das bedeutet, dass Sie Ihre Installation theoretisch woanders testen oder Ihren Server neu installieren sollten. Bevor Sie so weit gehen, versuchen Sie einfach, Ihre Version von WordPress neu zu installieren. Wer weiß ... Es könnte funktionieren.

1

Sie sollten die "Seite"/"ausgelagert" var in der query_post Funktion übergeben:

if (get_query_var('paged')) { 
$paged = get_query_var('paged'); 
} elseif (get_query_var('page')) { 
$paged = get_query_var('page'); 
} else { 
$paged = 1; 
} 
query_posts(array('paged' => $paged)); 
if (have_posts()) : while (have_posts()) : the_post(); ?> 
<!--Your HTML-->. 
<?php endwhile; endif; wp_reset_query(); ?> 
Verwandte Themen