web-dev-qa-db-fra.com

Vignettes sur les liens suivants/précédents dans le type de message personnalisé single.php

J'ai réussi à utiliser le code suivant pour afficher des vignettes pour les liens suivants et précédents pour les publications normales, mais cela ne fonctionne pas du tout pour les types de publication personnalisés.

<div id="cooler-nav" class="navigation">
                <?php $prevPost = get_previous_post(true);
                if($prevPost) {?>
                <div class="nav-box previous">
                    <?php $prevthumbnail = get_the_post_thumbnail($prevPost->ID, 'tiny_thumb' );?>
                    <?php previous_post_link('%link',"$prevthumbnail  <p>%title</p>", TRUE); ?>
                </div>

                <?php } $nextPost = get_next_post(true);
                if($nextPost) { ?>
                <div class="nav-box next">
                    <?php $nextthumbnail = get_the_post_thumbnail($nextPost->ID, 'tiny_thumb' ); } ?>
                    <?php next_post_link('%link',"$nextthumbnail  <p>%title</p>", TRUE); ?>
                </div>
                <?php  ?>
            </div><!--#cooler-nav div -->

Je suppose que ce doit être une requête spéciale pour rechercher mon type de message personnalisé "portfolio"

Toute aide serait grandement appréciée

<nav class="clearer">

                <?php if( $prev_post = get_previous_post() ): ?>
                    <?php echo $prev_post->ID ?>
                <div class="nav-box previous">
                    <?php $prevthumbnail = get_the_post_thumbnail($prev_post->ID, 'tiny_thumb' );?>
                    <?php previous_post_link('%link',"$prevthumbnail  <p>%title</p>", TRUE); ?>
                </div>
                <?php endif; ?>

                <?php if( $next_post = get_next_post() ): ?>
                    <?php echo $next_post->ID ?>
                    <div class="nav-box next">
                        <?php $nextthumbnail = get_the_post_thumbnail($next_post->ID, 'tiny_thumb' );  ?>
                        <?php next_post_link('%link',"$nextthumbnail  <p>%title</p>", TRUE); ?>
                    </div>
                <?php endif; ?>

            </nav>
<?php   
                    $t_args = array (
                       'tax_query' => array (
                          array (
                            'orderby' => 'Rand',
                            'post_type' => 'portfolio',
                            'taxonomy' => 'service',
                            'field' => 'slug',
                            'terms' => $service_type,
                            'post__not_in' => array($post->ID)

                          )
                       )
                    );

                    $query = new WP_Query( $t_args );

                    if( $query->have_posts() ) {
                       while ( $query->have_posts() ) : $query->the_post();

                          // output your stuff
                          echo '<div class="more_from_thumb"><a href="';
                          the_permalink();
                          echo '">';
                          the_post_thumbnail();
                          echo '</a></div>';
                       endwhile;
                       wp_reset_query();
                    } ?>
2
Meko6

Le premier argument que get_previous_post et get_next_post est $in_same_cat. WordPress recherche des publications du même type dans la catégorie des publications actuelles. Si votre type de publication personnalisé ne prend pas en charge la taxonomie category, les deux fonctions ne renverront probablement rien pour la publication précédente et suivante.

Essayez d'appeler les deux fonctions sans arguments pour votre type d'article personnalisé.

<?php if( $prev_post = get_previous_post() ): ?>
    <div class="nav-box previous">
        <?php $prevthumbnail = get_the_post_thumbnail($prev_post->ID, 'tiny_thumb' );?>
        <?php previous_post_link('%link',"$prevthumbnail  <p>%title</p>", TRUE); ?>
    </div>
<?php endif; ?>

<?php if( $next_post = get_next_post() ): ?>
    <div class="nav-box next">
        <?php $nextthumbnail = get_the_post_thumbnail($next_post->ID, 'tiny_thumb' ); } ?>
        <?php next_post_link('%link',"$nextthumbnail  <p>%title</p>", TRUE); ?>
    </div>
<?php endif; ?>
5
chrisguitarguy