it-swarm.com.de

Wie kann ich auf den neuesten Beitrag in einer Kategorie verlinken?

Wie kann ich einen Link zu einer Kategorie erstellen - zu ihrem aktuellsten/neuesten Beitrag?

Ich möchte den aktuellen Beitrag anzeigen. Ich möchte die Kategorie nicht mit einem Beitrag anzeigen. Ich werde hier wirklich dumm sein ... :)

Aber in meiner manchmal wilden und grenzenlosen Fantasie sollte sowas schon vorhanden sein:

domain.com/category-name/index.php?newest

oder

domain.com/category/category-name/index.php?latest&wpusers=happier-now

Ich habe gesucht und es gibt viele PHP Level-Lösungen. Und diese Seite lässt mich nicht mehr als zwei Links hier posten

... und als Referenz hier sind die besten verwandten Links, die ich mir angesehen habe (einige sind zu 100% im Kontext, aber veraltet, sodass ich nicht weiß, ob sie mit WordPress noch effektiv sind):

Gelöst

Link zum letzten Beitrag in einer Kategorie?

Link zum neuesten Beitrag in der Kategorie

Ich hatte ungefähr zehn weitere relevante Links ...

Aber auch hier scheint es wirklich so zu sein, als ob es NUR eine PHP-, Funktions- oder Vorlagenebene geben muss, um dies zu tun. Es gibt so viele coole kleine Elemente - dieses und jenes, die zur URL hinzugefügt wurden, dass es eines geben sollte, das den neuesten Beitrag erhält.

Ein gutes Beispiel ist ein YouTube-Playlist-Link. Es lädt das neueste Video und ermöglicht alle Arten von & Höhe & Breite & Rel = 0 Fähigkeiten.

Ich bin ein bisschen überrascht, dass dies kein zentrales WordPress-Feature ist.

Im Moment habe ich verschiedene Widget-Varianten, die einen kürzlich erschienenen oder vorgestellten Beitrag auf der Startseite mit einem Auszug und einem vorgestellten Bild anzeigen können. Wenn jemand auf den Titel, das vorgestellte Bild oder "Weitere Informationen" klickt, wird er zu diesem Beitrag weitergeleitet.

Damit ich sehen kann, dass Widgets die Links erstellen können, bin ich einfach überfordert, herauszufinden, wie ich dasselbe Konzept nutzen kann, um einen Link zu erstellen, ohne alles anzuzeigen.

3

Es ist nicht in den Core integriert, kann aber durchaus hinzugefügt werden. Ich halte es nicht für eine gute Idee, einen einzelnen Beitrag unter mehreren URLs verfügbar zu haben. Daher ist eine Umleitung wahrscheinlich am besten. Natürlich wird es ein bisschen PHP erfordern, da WordPress nicht mit Magie oder Willenskraft arbeitet.

Zuerst binden wir eine Funktion in die Aktion parse_request ein, die ausgeführt wird, wenn WordPress festlegt, wie die Abfragevariablen für die Hauptabfrage festgelegt werden sollen.

Das folgende Codebit setzt voraus, dass hübsche Permalinks aktiviert sind und Kategorie-URLs eine Kategoriebasis haben. Unter diesen Bedingungen wird die Abfragevariable category_name festgelegt, damit wir prüfen können, ob es sich um eine Anforderung für eine Kategorie handelt. Gleichzeitig prüfen wir auch, ob eine latest GET var gesetzt ist, sodass dieser Code zusammen ausgelöst wird, wenn eine URL wie folgt aussieht:

http://example.com/category/some-category/?latest

Wenn diese Bedingungen erfüllt sind, fragen wir über WP_Query nach einem einzelnen Beitrag im angeforderten Kategorienamen, der uns standardmäßig den neuesten Beitrag in dieser Kategorie liefert.

Wenn ein Beitrag gefunden wird, leiten wir über wp_redirect zur URL dieses Beitrags weiter.

Dieser Code kann in die functions.php-Datei unseres Themas eingefügt werden:

function wpa_latest_in_category_redirect( $request ){
    if( isset( $_GET['latest'] )
        && isset( $request->query_vars['category_name'] ) ){

        $latest = new WP_Query( array(
            'category_name' => $request->query_vars['category_name'],
            'posts_per_page' => 1
        ) );
        if( $latest->have_posts() ){
            wp_redirect( get_permalink( $latest->post->ID ) );
            exit;
        }

    }
}
add_action( 'parse_request', 'wpa_latest_in_category_redirect' );
8
Milo