Zeigen Sie css NUR für den letzten Post einer bestimmten Kategorie an?

Das Folgende ist nur ein Szenario, um Kontext zu bieten, damit Sie verstehen, was ich versuche zu erreichen, aber bitte halten Sie Ihre Antworten im Zusammenhang mit dem Titel, wenn möglich und eine CSS-Lösung / function.

Ich habe eine Podcast-Site, an der ich arbeite. Und ich habe “next” und “prev” Buttons auf den Podcast-Post-Seiten, die den Nutzer zur nächsten Podcast-Episode nach Datum führen und diese Buttons nur für die Podcast-Post-Kategorie anzeigen.

(also nur normale WordPress-Blogbeiträge in einer Kategorie namens “Podcast”)

Mein Problem ist der letzte Podcast Post (zum Beispiel Podcast Ep # 150) würde eine “nächste” Episode Schaltfläche anzeigen. – Da es sich bei Ep # 150 um den neuesten Podcast-Beitrag handelt, sollte die Schaltfläche “Weiter” nicht angezeigt werden. Gerade jetzt bringt es Sie zu “Ep # 1”, wenn Sie es drücken, was sinnvoll ist, aber ich würde lieber nicht Benutzer zu älteren Folgen auf unseren neuesten Posts verweisen.

Also ich möchte nur “anzeigen: keine;” diese Schaltfläche auf dem letzten Post in der Podcast-Kategorie.

Danke für jede Hilfe!

   'post_date', 'loop' => true, 'tooltip' => 'Previous Episode', 'in_same_cat' => true, 'ex_cats' => '30, 11', 'link' => 'Previous Episode' ) );?>      'post_date', 'loop' => true, 'tooltip' => 'Next Episode', 'in_same_cat' => true, 'ex_cats' => '30, 11', 'link' => 'Next Episode' ) );?>   

Solutions Collecting From Web of "Zeigen Sie css NUR für den letzten Post einer bestimmten Kategorie an?"

Aus dem Kontext Ihrer Frage verstehe ich, dass Sie next_post_link und previous_post_link für die Implementierung der next_post_link und Prev- Buttons verwenden, also müssen Sie CSS verwenden, um sie angemessen zu verbergen.

next_post_link und previous_post_link zeigen die Links einfach nicht an, wenn der aktuelle Post der letzte / erste in der Schleife ist. next_post_link denke ich, dass es besser wäre, sie in Ihrer Vorlage hinzuzufügen, anstatt CSS zu verwenden.

Sie können die Dokumentation hier überprüfen:

  • next_post_link
  • vorheriger_post_link

Ich schlage vor, L.Milos Antwort zu verwenden , da dies das Problem tatsächlich lösen wird und das Hinzufügen von benutzerdefiniertem CSS es nur maskieren wird.


Um dem letzten Post einer Kategorie benutzerdefiniertes CSS hinzuzufügen, sollte Folgendes funktionieren. Es macht folgendes

  1. wp_get_recent_posts() die ID des letzten wp_get_recent_posts() dieser Kategorie mit wp_get_recent_posts()
  2. Prüfe, ob momentan ein einzelner Beitrag angezeigt wird und wenn ja, überprüfe, ob er die ID des letzten Beitrags hat (dh, es ist der letzte Beitrag)
  3. Wenn ja, fügen Sie ein anderes Stylesheet in die Warteschlange ein.
 < ?php function wpse_enqueue_on_latest_post() { $args = array( 'numberposts' => 1, 'category' => 12,// id of the category ); list($latest) = wp_get_recent_posts($args); if (is_single( $latest['ID'] )) { wp_enqueue_style( ... ); } } add_action('init', 'wpse_enqueue_on_latest_post'); 

Alternativ können Sie eine benutzerdefinierte body-class hinzufügen und dasselbe Stylesheet verwenden, in dem Sie genau über diese class unterscheiden

 < ?php function wpse_add_latest_post_body_class($classes) { $args = array( 'numberposts' => 1, 'category' => 12,// id of the category ); list($latest) = wp_get_recent_posts($args); if (is_single( $latest['ID'] )) { $classes[] = 'latest-of-category-xxx'; } return $classes; } add_filter('body_class', 'wpse_add_latest_post_body_class');