Loop Personalizzato per Tipo di Post Personalizzato

19 ott 2014, 02:11:07
Visualizzazioni: 88.6K
Voti: 8

Sto usando WP 4.0 e Headway come tema. Ho creato un tipo di post personalizzato chiamato 'property' e sto cercando di creare il loop in 2 colonne, ma non sono sicuro di cosa aggiungere al seguente codice per farlo funzionare. Vorrei anche aggiungere la paginazione.

Ho anche altre informazioni da inserire all'interno del loop. Sto lavorando per farlo funzionare correttamente.

Ecco il codice che attualmente funziona per me... senza colonne.

<?php $loop = new WP_Query( array( 'post_type' => 'property', 'posts_per_page' => -1, 'category' => 'current' ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="pindex">
    <div class="pimage">
        <a href="<?php the_permalink(); ?>"><?php if ( has_post_thumbnail() ) {the_post_thumbnail();} ?></a>
    </div>
    <div class="ptitle">
        <h2><?php echo get_the_title(); ?></h2>
    </div>
</div>
<?php endwhile; wp_reset_query(); ?>
3
Commenti

Scusa, ma potresti per favore leggere [ask] e aggiungere [edit] al tuo post invece di commenti? Assicurati di leggere l'[help] per orientarti sul sito. Ci sono anche pulsanti WYSIWYG nell'editor per formattare il contenuto delle tue domande.

kaiser kaiser
19 ott 2014 05:00:54

La tua domanda è fuori tema in quanto riguarda la modifica di un tema commerciale. Perché non puoi fare questa domanda sui forum del tema Headway?

Brad Dalton Brad Dalton
19 ott 2014 09:57:31

Un tema commerciale che non è accessibile pubblicamente.

Brad Dalton Brad Dalton
19 ott 2014 10:04:53
Tutte le risposte alla domanda 1
0
12

Ci sono un paio di problemi nella tua query.

  1. Non esiste un parametro chiamato category. Puoi utilizzare i seguenti.

    cat (int) - usa l'ID della categoria.
    category_name (string) - usa lo slug della categoria (NON il nome).
    category__and (array) - usa l'ID della categoria.
    category__in (array) - usa l'ID della categoria.
    category__not_in (array) - usa l'ID della categoria.
    
  2. Se vuoi che la tua query abbia la paginazione, non dovresti usare posts_per_page' => -1. Questo sovrascriverà la paginazione e restituirà tutti i post.

  3. Un'altra cosa, stai verificando la presenza della miniatura del post nel posto sbagliato. Dovresti verificarlo prima del contenitore dell'immagine.

Quindi ho modificato la tua query e questo è come dovrebbe essere. Suppongo che lo slug della tua categoria sia current come hai usato nella tua query.

<?php
    $loop = new WP_Query( array( 'post_type' => 'property', 'category_name' => 'current', 'ignore_sticky_posts' => 1, 'paged' => $paged ) );
    if ( $loop->have_posts() ) :
        while ( $loop->have_posts() ) : $loop->the_post(); ?>
            <div class="pindex">
                <?php if ( has_post_thumbnail() ) { ?>
                    <div class="pimage">
                        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
                    </div>
                <?php } ?>
                <div class="ptitle">
                    <h2><?php echo get_the_title(); ?></h2>
                </div>
            </div>
        <?php endwhile;
        if (  $loop->max_num_pages > 1 ) : ?>
            <div id="nav-below" class="navigation">
                <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Precedenti', 'domain' ) ); ?></div>
                <div class="nav-next"><?php previous_posts_link( __( 'Successivi <span class="meta-nav">&rarr;</span>', 'domain' ) ); ?></div>
            </div>
        <?php endif;
    endif;
    wp_reset_postdata();
?>

Questo dovrebbe restituire tutti i post nella categoria current con la paginazione. Se hai bisogno di ottenere post da più di una categoria, puoi usare il parametro category__in invece di category_name.

'category__in' => array( 2, 6 )

Nota che category__in accetta solo gli ID delle categorie.

19 ott 2014 06:09:14