2016-08-06 13 views
11

Kurz gesagt, ich habe einige Artikel von Standard Post-Typ zu benutzerdefinierten Beitragstyp verschoben. Und jetzt sind meine Artikel zugänglich mit einem alten www.example.com/articleurl/ und einem neuen www.example.com/blog/articleurl/ Urls.Wordpress versucht, ein Archiv der nicht vorhandenen Kategorie zu erhalten

Es gibt ein Problem: Ein Client hat einen Artikel mit der URL '2093' hinzugefügt. Und es ist erreichbar mit www.example.com/blog/2093/. Aber wenn ich versuche, es mit www.example.com/2093/ zu bekommen, versucht WordPress, ein Archiv von 2093 Jahr oder Kategorie zu bekommen (es gibt übrigens keine solche Kategorie) und leitet dann zur Indexseite um.

So, wie das zu lösen?

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

Ja, ich brauche diese Hierarchie meiner Website und ich brauche benutzerdefinierte Beitragstyp.

Antwort

2

Erstellen Sie eine Datei mit dem Namen Archiv-2093.php in Ihrem Thema Wurzel und fügen Sie den folgenden Code ein:

<?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 verlassen nun die Schleife anpassen müssen, was das Layout und Struktur entsprechen, die Sie in Einzel verwenden .php oder blog-single.php. Das Konzept besteht darin, ein spezifisches Archiv für das Jahr 2093 zu erstellen und dann eine benutzerdefinierte Abfrage durchzuführen, um Ihren Beitrag zurückzugeben.

Denken Sie daran, Ihren Code in das Jahr 2093.

2

Wordpress nicht dazu dient, die Seite zu aktualisieren, über/2093 Sinn macht. Die Seite auf/blog/2093 AND on/2093 zählt als duplizierter Inhalt, was SEO nicht ratsam ist. (Kann mit kanonischen 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 Weiterleitung von/2093 nach/blog/2092 hinzuzufügen. Diese Weiterleitung sollte funktionieren, bevor Wordpress versucht, sie als Archiv zu analysieren. Sie könnten dies in Ihrer .htaccess-Datei tun, dennoch empfehle ich die Verwendung eines Redirect-Plugins. (Yoast hat das inklusive)

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