previous_post_link() și next_post_link() cu un tip de postare personalizat?

13 dec. 2012, 22:47:01
Vizualizări: 20K
Voturi: 7

Mă aflu în single-work.php pentru un tip de postare personalizat numit work, în interiorul buclei.

Încerc să creez două link-uri către postarea anterioară și următoare.

Folosind acest cod:

<?php previous_post_link(); ?>

și

<?php next_post_link(); ?>

Dar nu apare nimic. Am omis ceva?

Iată codul meu, foarte simplu:

<?php get_header(); ?>
<div class="full" >

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

    <?php next_post_link('%link', 'Postarea următoare »'); ?>
<?php next_post_link('%link', 'Postarea următoare »'); ?>

<?php endwhile; // sfârșitul buclei. ?>

</div><!--/full-->  
<?php get_footer(); ?>
0
Toate răspunsurile la întrebare 3
1

Ceea ce observ în codul tău este că codurile pentru postul următor și postul anterior apar în interiorul buclei while, ceea ce nu ar trebui să fie în interiorul buclei și ar trebui să apară astfel:

<?php get_header(); ?>
<div class="full" >
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php endwhile; // end of the loop. ?>
<?php next_post_link('%link', 'Postul următor »'); ?>
<?php next_post_link('%link', 'Postul următor »'); ?>
</div><!--/full-->  
<?php get_footer(); ?>

Sau, poți găsi detalii aici.

În postul de mai sus am găsit paginarea numerică, dar totuși este explicat în detaliu cum funcționează exact paginarea.

6 oct. 2013 15:34:26
Comentarii

Utilizatorul 39075, te rugăm să nu anulezi corecturile gramaticale făcute de ceilalți utilizatori. Aici, apreciem conținutul de calitate și nivelul editorial. Mulțumim. Consultă [ajutor] pentru mai multe detalii.

brasofilo brasofilo
6 oct. 2013 16:18:16
0

Citește documentația.

Această funcție nu va funcționa (va eșua în tăcere) dacă mysql.trace_mode este activat în php.ini. Dacă nu poți edita acel fișier, încearcă să adaugi

ini_set( 'mysql.trace_mode', 0 );

în fișierul functions.php al temei tale.

Asta ar putea rezolva problema ta, așa cum a rezolvat-o și pentru mine.

7 mar. 2018 21:13:51
5

Funcțiile sunt corecte; setează parametrii

<?php next_post_link('%link', 'Postarea următoare »'); ?>

<?php next_post_link('%link', 'Postarea următoare »'); ?>

Fără să văd codul tău, este greu de spus de ce. Există erori sau avertismente PHP?

Actualizare

Un mic exemplu

<?php query_posts( array( 'post_type' => 'page', 'post_status' => 'publish' ) ) ?>
<?php if ( have_posts() ) : ?>

    <?php while ( have_posts() ) : the_post() ?>
        <!-- faci ceva aici -->

    <div id="nav-single">
        <div class="left"><?php previous_post_link(); ?></div>
        <div class="right"><?php next_post_link(); ?></div>
    </div>

    <?php endwhile; // sfârșitul buclei. ?>
    <?php wp_reset_query(); ?>

<?php else : ?>

    <!-- faci altceva aici -->

<?php endif ?>
13 dec. 2012 22:50:54
Comentarii

Acești parametri sunt opționali, includerea lor nu ajută la nimic. Nu există erori PHP sau altceva, motiv pentru care îmi este greu să identific problema, pur și simplu nu afișează nimic...

wesbos wesbos
13 dec. 2012 22:52:42

Da, dar funcționează pe multe șabloane single în multe teme. Este greu fără să vedem sursa șablonului, unde este problema. Este posibil și ca un plugin sau funcții să se conecteze în interiorul loop-ului și să întrerupă tag-urile șablonului.

bueltge bueltge
13 dec. 2012 22:55:52

Voi actualiza cu codul meu...

wesbos wesbos
13 dec. 2012 22:57:23

Și CPT-ul este în interiorul buclei implicite? În codul tău este o buclă implicită, nu mai multe pentru CPT. Dar, da, este posibil să conectezi un CPT în interiorul buclei și să adaugi CPT-ul.

bueltge bueltge
13 dec. 2012 23:08:15

Ce se întâmplă dacă vreau postarea anterioară/următoare din aceeași categorie? Ce trebuie să fac cu codul de mai sus?

Jornes Jornes
1 oct. 2022 07:34:05