Wie kann ich einen hervorgehobenen Post in einem gestylten Element anzeigen und die nächsten unten unter einem anderen Stil?

Ich suche nach einigen Gedanken, Ideen und / oder statementen, wie dies am besten zu erreichen ist:

Grundsätzlich möchte ich 1 “featured” Post in einem anders gestylten div haben und dann die nächsten 3 darunter anzeigen.

Ich benutze benutzerdefinierte Post-Typen, so dass die integrierte function “Sticky Posts” nicht funktioniert, und ich würde lieber kein Plugin verwenden …

Hier ist ein Screenshot von dem, was ich erreichen möchte:
Bildbeschreibung hier eingeben

Ich habe das in WordPress noch nicht gemacht, also bin ich mir nicht sicher, wo ich anfangen soll. Ich nehme an, ich sollte eine Kategorie oder ein Tag namens “featured” einrichten, um auszulösen, welche Beiträge oben angezeigt werden. Aber wie bekomme ich es dann im normalen Feed nicht angezeigt?
Ich schätze, dass ich das “featured” -Tag oder die Kategorie wahrscheinlich nicht zulassen kann, aber dieser Workflow scheint umständlich zu sein (für den Client, um die zuvor markierten Beiträge zu deaktivieren, damit sie dann im regulären Feed wieder angezeigt werden).

Solutions Collecting From Web of "Wie kann ich einen hervorgehobenen Post in einem gestylten Element anzeigen und die nächsten unten unter einem anderen Stil?"

Eine Möglichkeit, dies zu erreichen, besteht darin, zwei Abfragen / Schleifen einzurichten, eine, die den hervorgehobenen Beitrag behandelt, und eine, die alle anderen Beiträge behandelt (mit Ausnahme des hervorgehobenen Posts).

Wie Sie unterscheiden, was IS ist und was nicht, sollte eine spezielle Platzhalterkategorie oder ein benutzerdefiniertes Feld sein , das besser geeignet ist, Ihre Kategorielisten mit Platzhalterkategorien zu füllen, die keine haben echter Wert.

Nehmen wir an, dass Sie für Posts, die Sie featured werden möchten, ein benutzerdefiniertes Feld mit einem meta_key von featured_post und einem Meta-Wert von 1 zuweisen.

In Ihrer Vorlagendatei würden Sie dann etwas Ähnliches tun;

 $args = array( 'posts_per_page' => 1, 'post_type' => 'your_post_type', 'order' => 'DESC', 'meta_query' => array( array( 'key' => 'featured_post', 'value' => '1', ) ) ); $first_query = new WP_Query( $args ); if ( $first_query->have_posts() ): while( $first_query->have_posts() ) : $first_query->the_post(); echo '
'; //your desired output here.... echo '
'; endwhile; endif; wp_reset_postdata(); $args = array( 'posts_per_page' => 9, 'post_type' => 'your_post_type', 'meta_query' => array( array( 'key' => 'featured_post', 'value' => '1', 'compare' => 'NOT LIKE' //or NOT or != should suffice ) ) ); $second_query = new WP_Query( $args ); if ( $second_query->have_posts() ): while( $second_query->have_posts() ) : $second_query->the_post(); echo '
'; //your desired output here.... echo '
'; endwhile; endif; wp_reset_postdata();

Einige Fragen, die du vielleicht hast …

F: Was passiert, wenn ich (im Laufe der Zeit) mehr als einen Beitrag mit dem featured_post Schlüssel und dem Wert 1 zugewiesen habe und vergessen habe, zuvor erstellte Beiträge zu bearbeiten?

In diesem Fall sind die Parameter; 'order' => 'DESC' in der ersten Abfrage, die die Anzeige Ihres vorgestellten Posts steuert, zeigt die zuletzt zugewiesene post – Metaschlüssel / Wert – Paarung basierend auf DATE in chronologischer Reihenfolge vom letzten Postdatum bis zum älteste.

F: … aber was passiert, wenn ich einen vorgestellten Post von einem zufälligen Datum zeigen möchte und wo ein Post mit einem jüngeren Datum bereits das Post-Meta- key/value Paar zugewiesen hat?

In diesem Fall müssen Sie daran denken, das Post-Metaschlüssel key/value Paar aus einem beliebigen neueren Post, der neuer ist, zu entfernen, damit ein älterer Post mit dem Post-Metaschlüssel key/value Paar Vorrang haben kann.

F: Gibt es andere Möglichkeiten, dies zu tun?

Sicher sind! Abhängig von Ihren Anforderungen gibt es andere Möglichkeiten, wie Sie für die erste Abfrage vordefinierte Elemente zuweisen können, die die Verwaltung von Änderungen erleichtern. Dazu können benutzerdefinierte, konstruierte Metaboxen verwendet werden , die Ihnen die aktuell zugewiesenen functionen dieses Beitragstyps anzeigen Ändern Sie den Featured Post auf eine globale Art und Weise, auch wenn Sie sich auf dem Post-Bearbeitungsbildschirm befinden. Wenn Ihre Anforderungen die oben genannte Lösung übersteigen, können wir dies genauer betrachten.


Einige hilfreiche Codex-Ressourcen:

  • Benutzerdefinierte Felder
  • WP_Query