2016-08-06 4 views
11

要するに、既定のポストタイプからカスタムポストタイプにいくつかの記事を移動しました。そして今、私の記事は古いwww.example.com/articleurl/と新しい1つのwww.example.com/blog/articleurl/のURLを使ってアクセスできます。Wordpressは存在しないカテゴリのアーカイブを取得しようとしています

問題があります:クライアントがURL「2093」の記事を追加しました。また、www.example.com/blog/2093/を使用してアクセスできます。しかし、私がwww.example.com/2093/を使用して取得しようとすると、wordpressは2093年またはカテゴリのアーカイブを取得しようとします(そのようなカテゴリはありません)。その後、インデックスページにリダイレクトされます。

これを解決するにはどうすればよいですか?

いいえ、私はこの記事のURLを変更することはできません。私はそれを残す必要があります2093

はい、私はこのサイトの階層構造が必要です。カスタム投稿タイプが必要です。

答えて

2

あなたのテーマのルートにアーカイブ-2093.phpというファイルを作成し、次のコードを追加:あなたは、単一で使用しているものは何でも、レイアウトや構造と一致するようにループを適応させる必要があります

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

を.phpまたはblog-single.php。ここでのコンセプトは、2093年の特定のアーカイブを作成してから、あなたの投稿を返すカスタムクエリを作成することです。

ただ、2093

2

Wordpressのは/ 2093上でページを提供していない年にあなたのコードを更新することを忘れないでは意味があります。ページを/ blog/2093とon/2093にすると重複コンテンツとみなされますが、これはSEOの賢明さを知らされません。

上記の解決策は、メンテナンス時に追加される新しいテンプレートファイルを使用することを示唆しています。私の提案は/ 2093から/ blog/2092へのリダイレクトを加えるだけです。このリダイレクトは、Wordpressがアーカイブとして解析しようとする前に動作するはずです。 .htaccessファイルでこれを行うことができますが、リダイレクトプラグインの使用をお勧めします。

URLが/ 2093として必要な場合は、これをブログアイテムの代わりに通常のページとして追加するだけです。

0

Viper007Bondが問題の解決に役立つプラグインを作成しました。

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

あなたが使用しているパーマリンク構造を共有する場合にも、それが参考になります。

運が良かった!

+0

残念ながら、これは動作しません – user64675

関連する問題