WordPress versucht, ein Archiv einer nicht existierenden Kategorie zu erhalten

Lesezeit: 2 Minuten

Kurz gesagt, ich habe einige Artikel vom Standard-Post-Typ in den benutzerdefinierten Post-Typ verschoben. Und jetzt sind meine Artikel mit einem alten zugänglich www.example.com/articleurl/ und ein neues www.example.com/blog/articleurl/ URLs.

Es gibt ein Problem: Ein Kunde hat einen Artikel mit der URL „2093“ hinzugefügt. Und es ist zugänglich mit www.example.com/blog/2093/. Aber wenn ich versuche, es zu benutzen www.example.com/2093/ WordPress versucht, ein Archiv des Jahres 2093 oder der Kategorie zu erhalten (es gibt übrigens keine solche Kategorie) und leitet dann zur Indexseite weiter.

Wie löst man das also?

Nein, ich kann die URL dieses Artikels nicht ändern. Ich muss es verlassen 2093.

Ja, ich brauche diese Hierarchie meiner Website und ich brauche einen benutzerdefinierten Beitragstyp.

Erstellen Sie eine Datei namens archive-2093.php in Ihrem Theme-Root und fügen Sie den folgenden Code hinzu:

<?php

$args = array (
    'name'         => '2093',
    'post_type'    => array( 'blog' ),
);


$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        //  adapt the following to suit the formatting and fields of your post.

        the_title();
        the_content();

    }
} else {
    // oh no, it didn't work.
}

// Restore original Post Data
wp_reset_postdata();

Sie müssen die Schleife an das Layout und die Struktur anpassen, die Sie in single.php oder blog-single.php verwenden. Das Konzept hier ist, ein spezifisches Archiv für das Jahr 2093 zu erstellen und dann einfach eine benutzerdefinierte Abfrage durchzuführen, um Ihren Beitrag zurückzugeben.

Denken Sie nur daran, Ihren Code im Jahr 2093 zu aktualisieren.

WordPress, das die Seite nicht über /2093 bedient, ist sinnvoll. Die Seite auf /blog/2093 UND auf /2093 zu haben, wird als doppelter Inhalt gezählt, was SEO-technisch nicht empfohlen wird. (Könnte mit Canonical Tags behoben werden)

Die obige Lösung schlägt vor, dass Sie eine neue Vorlagendatei verwenden, die sich in der Wartung summiert. Mein Vorschlag wäre, einfach eine Umleitung von /2093 nach /blog/2092 hinzuzufügen. Diese Umleitung sollte funktionieren, bevor WordPress versucht, sie als Archiv zu parsen. Sie könnten dies in Ihrer .htaccess-Datei tun, aber ich empfehle die Verwendung eines Weiterleitungs-Plugins. (Yoast hat dies enthalten)

Wenn die URL als /2093 benötigt wird, fügen Sie diese einfach als normale Seite anstelle eines Blogeintrags hinzu.

Viper007Bond hat ein Plugin erstellt, das bei Ihrem Problem helfen kann.

https://wordpress.org/plugins/allow-numeric-stubs/

Außerdem wäre es hilfreich, wenn Sie die von Ihnen verwendete Permalink-Struktur teilen würden.

Viel Glück!

1395710cookie-checkWordPress versucht, ein Archiv einer nicht existierenden Kategorie zu erhalten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy