2016-08-06 12 views
11

Krótko mówiąc, przeniesiono niektóre artykuły z domyślnego typu postu na niestandardowy typ wpisu. A teraz moje artykuły są dostępne przy użyciu starych adresów URL: www.example.com/articleurl/ i nowych www.example.com/blog/articleurl/.Wordpress próbuje uzyskać archiwum nieistniejącej kategorii

Występuje problem: klient dodał artykuł o adresie URL "2093". Jest dostępny pod adresem www.example.com/blog/2093/. Ale kiedy próbuję to zrobić, używając wordpress, próbuje uzyskać archiwum 2093 roku lub kategorii (nie ma takiej kategorii, nawiasem mówiąc), a następnie przekierowuje na stronę indeksu.

Jak rozwiązać ten problem?

Nie, nie mogę zmienić adresu URL tego artykułu. Muszę to zostawić 2093.

Tak, potrzebuję tej hierarchii mojej witryny i potrzebuję niestandardowego typu postu.

Odpowiedz

2

Utwórz plik o nazwie archiwum-2093.php w katalogu głównym tematem i dodaj następujący kod:

<?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(); 

musisz dostosować pętli równą układ i struktura używasz w pojedynczym .php lub blog-single.php. Koncepcja polega na utworzeniu określonego archiwum na rok 2093, a następnie po prostu wykonaj niestandardową kwerendę, aby zwrócić swój wpis.

Wystarczy pamiętać, aby zaktualizować swój kod w roku 2093.

2

Wordpress nie obsługujących stronę powyżej/2093 ma sens. Posiadanie strony na/blogu/2093 AND na/2093 będzie liczone jako zduplikowana zawartość, co nie jest zalecane w przypadku SEO. (Można naprawić za pomocą znaczników kanonicznych)

Powyższe rozwiązanie sugeruje użycie nowego pliku szablonu, który dodaje się do konserwacji. Moją sugestią byłoby po prostu dodać przekierowanie z/2093 do/blog/2092. To przekierowanie powinno zadziałać, zanim Wordpress spróbuje przeanalizować je jako archiwum. Możesz to zrobić w swoim pliku .htaccess, ale zalecam użycie wtyczki przekierowania. (Yoast ma to w zestawie)

Jeśli potrzebny jest URL jako/2093, po prostu dodaj go jako zwykłą stronę zamiast elementu bloga.

Powiązane problemy