2012-04-12 6 views
1

Ich verwende benutzerdefinierte Seitenvorlagen, um verschiedene Blog-Layouts in meinem WordPress-Theme zu strukturieren, das ich verkaufen möchte. Alles funktioniert gut außer der post_nav_link Navigation (vorheriger Beitrag | nächster Beitrag). Der Wordpress-Codex sagt, dass post_nav_links nicht mit benutzerdefinierten Seitenvorlagen funktionieren wird, aber ich möchte wirklich nicht von vorne beginnen. Was kann ich tun, damit die post_nav_link-Navigation mit benutzerdefinierten Seitenvorlagen funktioniert?Kann die post_nav_link-Navigation mit benutzerdefinierten WordPress-Seitenvorlagen arbeiten?

Codex refernece: http://codex.wordpress.org/Next_and_Previous_Links

+0

Sind das Seiten oder Beiträge? Hast du den Vorschlag am Ende des Codex ausprobiert? –

+0

WENN ich richtig bin, funktionieren nächste und vorherige Seiten nicht auf Seiten sondern nur auf Posts. Basierend auf was möchten Sie navigieren? – janw

+0

@ChristianVarga ja Ich habe die Lösung am unteren Rand der Seite ausprobiert, aber es macht dann meine Blogpostnavigation in eine Seite-zu-Seite-Navigation. Zum Beispiel klicke ich auf die nächste Seite und es bringt mich zu meiner Kontaktseite statt der nächsten Seite von Blogposts. –

Antwort

1

die Sie interessieren, ist es für meine benutzerdefinierte Vorlage funktioniert, müssen Sie args query_posts aber der Schlüssel ist ein Offset hinzuzufügen.

$paged = get_query_var('paged'); 

$offset = 0; 
if ($paged != 0) { 
    //$paged -1 because there is no page 1, just 0 and 2 And page 0 is skipped 
    $offset = ($paged-1) * get_query_var('posts_per_page') ; 
} 
query_posts('offset=' . $offset); 
if (have_posts()) : while (have_posts()) : the_post(); 
     // the loop 

und für die Paginierung:

<div id="pagination"> 
    <div id="pagination-previous"><?php previous_posts_link('previous'); ?></div> 
    <div id="pagination-next"><?php next_posts_link('next'); ?></div> 
</div> 
+0

Ja! Das hat es geschafft! Vielen Dank @janw! –

+0

Tut mir leid, dich wieder mit diesem Jann zu nerven, aber ich denke, ich habe die Waffe auf diesen einen gesprungen. Ihre Methode funktioniert gut für meine home.php-Datei, aber wenn ich diese Datei in eine Seitenvorlage umwandle, indem ich die Codezeile "

+0

Werfen Sie einen Blick auf diese Frage und meine Antwort dort: http://StackOverflow.com/Questions/10121230/can-Post-Nav-Link-Navigation-work-with -wordpress-custom-page-templates/10139530 # 10139530 – janw

0

Dank @janw, werde ich versuchen, dies am Morgen. Kannst du mir zuvor zustimmen, wenn dies der richtige Weg ist, um die erste Menge Code zu taggen?

 <?php query_posts("posts_per_page=3"); ?> <!-- Do I keep this line? --> 
     <?php $paged = get_query_var('paged'); ?> 
     <?php $offset = 0; 
     if ($paged != 0) { 
      //$paged -1 because there is no page 1, just 0 and 2 And page 0 is skipped 
      $offset = ($paged-1) * get_query_var('posts_per_page') ; 
     } ?> 
     <?php query_posts('offset=' . $offset); ?> 
     <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 
+0

Hallo James überspringen die erste Zeile sollte es egal sein, aber es ist nur hässlich. Schließen und öffnen Sie auch nicht '' wenn es kein 'HTML' zwischen ihnen gibt, ist es nur hässlich und es (ein bisschen) langsamer. Auch wenn meine Antwort die richtige ist, akzeptiere meine Antwort. – janw

Verwandte Themen