Mauerwerk verwenden - Wie lässt sich jedes Miniaturbild des X. Beitrags über mehrere Spalten erstrecken?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/151589

  •  28-09-2020
  •  | 
  •  

Frage

Um genau zu sein:

  • Ich verwende Mauerwerk, um alle Beiträge in einer bestimmten Kategorie anzuzeigen
  • Miniaturbilder für jeden Beitrag werden auf der Kategorieseite in einem 3-Spalten-Format mit CSS-Spalten mit flüssiger Breite angezeigt
  • Ich muss das 7. Miniaturbild anzeigen, das sich über die Breite aller 3 Spalten erstreckt

In der Vergangenheit habe ich Beiträgen einen Zähler hinzugefügt, um auf den X-ten Beitrag abzuzielen und eine Klasse und einen Stil entsprechend anzuwenden.Aber ist das möglicherweise mit Mauerwerk, das absolut positionierende Elemente ist?

BEARBEITEN

Ich verwende diesen Code, um Beiträge auf der Mauerwerksseite abzufragen:

    if ( get_query_var( 'paged' ) ) {
    $paged = get_query_var( 'paged' );
} elseif ( get_query_var( 'page' ) ) {
    $paged = get_query_var( 'page' );
} else {
    $paged = 1;
}
$args = array(
    'posts_per_page' => 12, 
    'paged' => $paged
);

// Override the primary post loop
query_posts( $args );
War es hilfreich?

Lösung 2

Ich konnte also nicht herausfinden, wie Sie jedem Beitrag / Artikel-DIV eine Nummernsequenzklasse hinzufügen, aber ich habe gerade die Vorlage für den 7. Posten in der Mauerwerksvorlage geändert.

Ich habe es gefallen:

generasacodicetagpre.

Andere Tipps

Dies sollte bei Mauerwerk kein Problem sein, zumindest hatte ich nie eines damit (oder ein ähnliches äquivalentes Isotop).Eigentlich ist es nur die Schönheit dieser Bibliotheken, dass Sie diese Art von Layout haben können.Der Rest kommt auf die richtigen CSS-Stile an.Ich weiß nicht, wie Sie Ihre Zähler- / Indexklasse anwenden, aber ich würde es wie unten gezeigt tun:

function wpse151589_indexed_post_class( $classes ) {
    global $wp_query;

    // the current_post property value starts counting at 0
    // we are doing + 1 to start from 1
    $index = $wp_query->current_post + 1;

    // if you want the number to always have 3 digits
    // like 001, uncomment the next line
    //$index = sprintf( '%1$03d', $index );

    // results in classes like post-nr-1/001
    $classes[] = 'post-nr-' . $index;

    return $classes;
}
add_filter( 'post_class', 'wpse151589_indexed_post_class' );



Bearbeiten: Auf Kommentar antworten

Es gibt einige Dinge, die ich gerne notiere,

  1. Tun nicht verwenden query_posts()

    Es gibt einen Grund, warum sogar die entsprechende Kodexseite besagt:

    Diese Funktion ist nicht für Plugins oder Themes gedacht.Wie später erläutert, gibt es bessere, leistungsfähigere Optionen zum Ändern der Hauptabfrage.

    Und später:

    Für allgemeine Post-Abfragen verwenden Sie WP_Query oder get_posts.

    Und:

    Es ist stark empfohlen, dass Sie das verwenden pre_get_posts filtern Sie stattdessen und ändern Sie die Hauptabfrage, indem Sie Folgendes überprüfen is_main_query

    Die beiden informativsten und herausragendsten Quellen für die warum befinden sich tatsächlich hier auf WordPress-Entwicklung, sie sind absolut lesenswert:

  2. Dass post_class() kann nicht draußen verwendet werden Schleife is nicht wahr

    Es gibt sogar eine Abschnitt darüber in der Dokumentation.Gewährte die Kodexseite für post_class ist nicht das Beste, was es gibt, aber es ist klar genug, dass die Funktion zwei Parameter hat, sie sind: $classes und $post_id.

    post_class( $classes, $post_id );
    

    Was bedeutet:

    Um Beiträge außerhalb der Schleife oder in einer alternativen Schleife anzuzeigen, kann der zweite Parameter der Funktion post_class die Beitrags-ID sein.Die Klassen werden dann aus diesem Beitrag ermittelt.

    Dies - zusätzlich mit den Angaben aus 1.- macht es sehr gut möglich, dies für Ihren Zweck zu verwenden.

  3. Der WP_Query objekt hat eine Eigenschaft namens $current_post

    $aktueller Post
    (verfügbar während Schleife) Index des aktuell angezeigten Beitrags.

    Es kann für Ihren Zweck verwendet werden, sodass Sie das Rad nicht neu erfinden müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top