2012-06-14 130 views
0

你好,我叫类型做一个插件,它显示了一个页面,而不是当一个页面上发送一个404页面不存在404重定向不工作

我知道我可以编辑404.php文件做到这一点,但我需要适应这个插件。

如果我删除if语句,那么它的作品在所有页面上都不是我想要的。
所以我把如果(is_404())语句,但它似乎并没有在WordPress周期太快在所有的工作现在...

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

回答

1

要重定向,请不要挂钩init,尤其是如果使用条件标记(如is_404())。任何条件标签仍将返回init中的false

用途:template_redirect代替或pre_get_post,如果你需要改变对WP_Query

+0

谢谢我使用模板重定向哪个作品.....有没有人有一个很好的钩子资源.... –

+0

不客气。我没有这种追索权。我通常跳转到wp核心文件找到任何。 – AriePutranto

2

正如尼克上面说的,你可能会陷入晚点事件。根据我的经验,template_redirect是最好的选择。