Benutzerdefinierte Schleife für benutzerdefinierten Beitragstyp

8

Ich verwende WP 4.0 und Headway als Thema. Ich habe einen benutzerdefinierten Beitragstyp namens "Eigenschaft" erstellt und möchte die Schleife in zwei Spalten erstellen. Ich bin mir jedoch nicht sicher, was ich dem folgenden Code hinzufügen soll, um dies zu erreichen. Ich möchte auch Paginierung hinzufügen.

Ich habe auch andere Informationen, die ich in die Schleife einfügen kann. Ich arbeite nur daran, es richtig zum Laufen zu bringen.

Hier ist der Code, der derzeit für mich funktioniert ... ohne Spalten.

<?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(); ?>
user3331701
quelle
1
Sorry, aber könnten Sie bitte lesen Wie fragen , und fügen Sie bearbeiten s zu Ihrem Beitrag statt Kommentare? Lesen Sie unbedingt die Hilfe , um sich auf der Website zurechtzufinden. Es gibt auch WYSIWYG-Schaltflächen für den Editor, um den Inhalt Ihrer Fragen zu formatieren.
Kaiser
Ihre Frage ist nicht thematisch, da sie sich auf die Änderung eines kommerziellen Themas bezieht. Warum kannst du diese Frage nicht in den Headway-Themenforen stellen?
Brad Dalton
Ein kommerzielles Thema, das nicht öffentlich zugänglich ist.
Brad Dalton

Antworten:

11

Ihre Abfrage enthält einige Probleme.

  1. Es ist kein Parameter benannt category. Sie können diese folgenden verwenden.

    cat (int) - use category id.
    category_name (string) - use category slug (NOT name).
    category__and (array) - use category id.
    category__in (array) - use category id.
    category__not_in (array) - use category id.
    
  2. Wenn Sie Ihre Abfrage zum Paginieren benötigen, sollten Sie sie nicht verwenden posts_per_page' => -1. Dadurch wird die Paginierung überschrieben und alle Beiträge zurückgegeben.

  3. Eine weitere Sache ist, dass Sie am falschen Ort nach Post-Thumbnails suchen. Sie sollten dies vor dem Bildcontainer überprüfen.

Also habe ich Ihre Anfrage geändert und so wird es sein. Ich gehe davon aus, dass Ihre Kategorie so ist, currentwie Sie sie in Ihrer Abfrage verwendet haben.

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

Dies sollte alle Beiträge in der Kategorie currentmit Paginierung zurückgeben. Wenn Sie Beiträge aus mehr als einer Kategorie abrufen müssen, können Sie category__instattdessen Parameter anstelle von verwenden category_name.

'category__in' => array( 2, 6 )

Beachten Sie, dass category__innur Kategorie-IDs erfasst werden.

Robert Farbton
quelle