Wordpressのカテゴリ、タグ、作成者のアーカイブを削除しますか?


9

私はネットを検索しましたが、何が簡単なことなのかはうまくいきませんでした。

ページ、サブページ、投稿を含む高度にカスタマイズされたブログがあります。私はカテゴリとタグの使用に大きく依存していますが、それらをURLで表示できるようにしたくありません。著者と日付カテゴリについても同様です。基本的に、誰かがこれらのページにアクセスしようとした場合に404​​エラーをスローすることは望ましくありません。誰かが私を正しい方向に向けることができますか?ありがとう!

次のものにはアクセスできません。

example.net/category/books/

example.net/tag/ebooks/

example.net/author/dickens/

example.net/2012/10/

回答:


5

ここでchrisguitarguyの答えに基づいて構築するのは、テーマのfunctions.phpファイルにドロップして作業を実行できる簡単なスニペットです

add_action('template_redirect', 'wpse69948_archive_disabler');
function wpse69948_archive_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

7

私はこのためプラグインを書きました-更新が必要ですが、それでも問題なく動作するはずです。

基本的に、WordPressが要求されたページ(などtemplate_redirect)を認識した後の遅い場所でフックし、条件関数の 1つを使用して$wp_query->set_404()、ユーザーを使用するか、ユーザーを選択したページにリダイレクトします。

カテゴリ、タグ、作成者、日付のアーカイブを無効にするには:

<?php
add_action('template_redirect', 'wpse69948_tag_disabler');
function wpse69948_tag_disabler()
{
    if(is_tag() || is_category() || is_date() || is_author())
    {
        global $wp_query;
        $wp_query->set_404();
    }
}

仕事は完璧です!条件付き関数への便利なリンクを提供してくれてありがとう!
2012年

これをスタンドアロンのプラグインとして持つのはちょっとやりすぎのようです。ほとんどのテーマ作成者は、functions.phpまたは独自のカスタムプラグインでこれを実行できるはずです。
serraosays
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.