Loop Personalizat pentru Tipuri de Postări Personalizate

19 oct. 2014, 02:11:07
Vizualizări: 88.6K
Voturi: 8

Folosesc WordPress 4.0 și tema Headway. Am creat un tip de postare personalizată numit 'property' și încerc să creez loop-ul în 2 coloane, dar nu sunt sigur ce să adaug la următorul cod pentru a realiza acest lucru. De asemenea, aș dori să adaug și paginare.

Mai am și alte informații de plasat în interiorul loop-ului, dar momentan lucrez la funcționalitatea corectă.

Iată codul care funcționează în prezent... fără coloane.

<?php 
// Creează o nouă interogare pentru proprietăți
$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
Comentarii

Scuze, dar poți să te rog să citești [ask] și să adaugi [edit]uri în postarea ta în loc de comentarii? Asigură-te că ai citit [help] pentru a te orienta pe site. Există și butoane WYSIWYG în editor pentru a formata conținutul întrebărilor tale.

kaiser kaiser
19 oct. 2014 05:00:54

Întrebarea ta este off topic deoarece se referă la modificarea unei teme comerciale. De ce nu poți pune această întrebare pe forumurile temei Headway?

Brad Dalton Brad Dalton
19 oct. 2014 09:57:31

O temă comercială care nu este accesibilă publicului.

Brad Dalton Brad Dalton
19 oct. 2014 10:04:53
Toate răspunsurile la întrebare 1
0
12

Există câteva probleme în interogarea ta.

  1. Nu există niciun parametru numit category. Poți utiliza următoarele.

    cat (int) - folosește ID-ul categoriei.
    category_name (string) - folosește slug-ul categoriei (NU numele).
    category__and (array) - folosește ID-ul categoriei.
    category__in (array) - folosește ID-ul categoriei.
    category__not_in (array) - folosește ID-ul categoriei.
    
  2. Dacă ai nevoie ca interogarea ta să aibă paginare, atunci nu ar trebui să folosești posts_per_page' => -1. Aceasta va suprascrie paginarea și va returna toate articolele.

  3. Încă un lucru, verifici prezența imaginii miniatura în locul greșit. Ar trebui să verifici înaintea containerului pentru imagine.

Am modificat interogarea ta și acum arată așa. Presupun că slug-ul categoriei tale este current așa cum ai folosit în interogare.

<?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> Anterior', 'domain' ) ); ?></div>
                <div class="nav-next"><?php previous_posts_link( __( 'Următor <span class="meta-nav">&rarr;</span>', 'domain' ) ); ?></div>
            </div>
        <?php endif;
    endif;
    wp_reset_postdata();
?>

Aceasta ar trebui să returneze toate articolele din categoria current cu paginare. Dacă ai nevoie să obții articole din mai multe categorii, atunci poți folosi parametrul category__in în loc de category_name.

'category__in' => array( 2, 6 )

Reține că category__in acceptă doar ID-uri de categorii.

19 oct. 2014 06:09:14