web-dev-qa-db-ja.com

添付ページを完全に無効にする

すべての添付ファイルページを完全に無効にします。 Googleで検索しましたが、 親の投稿またはホームページへのリダイレクト方法 に関する情報しかありません。それは私が優雅な解決策と呼ぶものではありません。ホームページにリダイレクトする不要なパーマリンクを紹介するのはなぜですか?完全に無効にできませんでしたか?

5
Maciej Krawczyk

デフォルトの書き換え規則をフィルタリングして添付ファイルの規則を削除できます。

function cleanup_default_rewrite_rules( $rules ) {
    foreach ( $rules as $regex => $query ) {
        if ( strpos( $regex, 'attachment' ) || strpos( $query, 'attachment' ) ) {
            unset( $rules[ $regex ] );
        }
    }

    return $rules;
}
add_filter( 'rewrite_rules_array', 'cleanup_default_rewrite_rules' );

パーマリンクを一度保存​​し直すことを忘れないでください。 WordPressは、添付ファイルに関連するものがなくても新しい規則を生成します。

添付ファイルのURLは404です。404ページを防ぐためにそのリダイレクトを追加することもできます。この場合は役に立ちません。しかし、私はどのようにリダイレクトを捉えるのかわからない - 書き換え規則が削除されている場合is_attachment()は機能しません。

更新:

WordPressは、メディアライブラリとメディア挿入ダイアログの添付ページの可愛いURLを引き続き提供します。これもフィルタリングできます。

function cleanup_attachment_link( $link ) {
    return;
}
add_filter( 'attachment_link', 'cleanup_attachment_link' );

この場合、投稿に添付ファイルを挿入しても「添付ページへのリンク」を選択しても、画像は挿入されますリンクなし

6
Ihor Vorotnov