サポート » 使い方全般 » 作成者別アーカイブページを削除したい

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • こんにちは

    テーマに、404.phpがあるかどうか確認してください。

    もし、あれば 

    以下のコードを、テーマのfunctions.phpの先頭(<?phpの前に)に貼り付けてください

    作成者アーカイブへのリンクは、404.phpで表示されるようになります。

    <?php
    add_filter( 'template_include', 'puddle_template_include' );
    
    function puddle_template_include( $template ) {
    
    	$template_sp = str_replace( 'author.php', '404.php', $template );
    
    	if ( file_exists( $template_sp ) ) {
    		$template = $template_sp;
    	}
    	return $template;
    }
    ?>

    ご回答ありがとうございます。

    教えて頂いた通りやってみました。
    ページは「見つかりません」と表示されるようになりましたが、
    元々あったhttp://www.○○○○/?author=○&paged=○○のURLで検索すると「見つかりません」の表示されるページが出てしまいます。

    このページを完全に削除することは不可能なのでしょうか?

    このページを完全に削除することは不可能なのでしょうか?

    私の知る範囲では、無理だと思います。

    WordPressは、テンプレート階層というテンプレートの適用ルールがあり、仮に、author.phpテンプレートを削除しても、index.phpで表示するようになっています。

    お知らせしたコードは、author.phpが呼ばれるURLが指定された場合に404.phpを使うというものです。

    検索のクローラーからインデックスされないようにする方法は、robot.txtなどで検索すると方法が見つかると思います。
    また、404.phpテンプレートのつくりにもよります。

    <?php header("HTTP/1.1 404 Not Found"); ?>

    クローラーが404であることを正しく認識するように、headerをつけておくような工夫も必要かもしれません。
    http://wpdocs.sourceforge.jp/Creating_an_Error_404_Page

    また、サイト内から、author.phpを使うリンクを一掃する必要があると思います。

    ただ、URLを決め打ちされてアクセスされるような場合は、404.phpは表示されます。

    テーマの functions.php(で<?php 〜 ?> の範囲内)に下記を追記して、
    add_filter( 'author_rewrite_rules' , '__return_empty_array' );
    WP 管理画面[設定|パーマリンク設定]を開いて[変更を保存]をクリックすると
    作成者表示 は存在しなくなります。 

    kzさん

    ありがとうございます 教えていただきうれしいです

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「作成者別アーカイブページを削除したい」には新たに返信することはできません。