0

こんにちは私は、存在しないページにあるときに404ページを送信する代わりに、ページを表示するプラグインを作成するように入力しています

私はこれを行うために404.phpファイルに編集できることを知っていますが、これをプラグインに適合させる必要があります。

ifステートメントを削除すると、すべてのページで機能しますが、これは私が望むものではありません。
だから私はif(is_404())ステートメントを入れましたが、今はまったく機能していないようです...

    function da_404_redirect()
    {
      if(is_404())
      {      
        query_posts('page_id=2');
        status_header( "200" );
      }
    }
    add_action('init','da_404_redirect');
4

3 に答える 3

2

アクションフックは、ワードプレスサイクルで404であるかどうかを知るには早すぎる可能性があります。http://codex.wordpress.org/Plugin_API/Action_Reference/init。後でアクションフックを使用してみてください。

于 2012-06-15T00:10:50.583 に答える
2

ニックが上で言ったように、あなたは遅発性のイベントに夢中になっているかもしれません。私の経験では、template_redirectが最良のオプションです。

于 2012-06-15T00:22:27.387 に答える
1

リダイレクトするにはinit、特にis_404()のような条件付きタグを使用する場合は、フックしないでください。条件付きタグは引き続きで返さfalseinitます。

使用:template_redirect代わりに、またはpre_get_post何かを変更する必要がある場合WP_Query

于 2012-06-15T00:28:27.447 に答える