[wp-hackers] Throw 404 error via plugin

ampt notfornoone at gmail.com
Thu Jan 13 02:13:47 UTC 2011


try hooking it onto pre_get_posts, I think the init action is too early to modify the query.


thanks,


ampt




On Thursday, 13 January 2011 at 10:29 AM, Ryan Bilesky wrote:

> No luck. I am hooking into init, checking to see if I want to allow the
> user to access it. If not throw a 404 error.
> 
> <?php
> add_action('init','not_found_test',0);
> function not_found_test() {
>  global $wp_query;
>  if (1=1) {
>  status_header('404');
>  $wp_query->set_404();
>  }
> }
> ?>
> 
> On Tue, Jan 11, 2011 at 10:24 PM, Andrew Nacin <wp at andrewnacin.com> wrote:
> 
> 
> >  On Tue, Jan 11, 2011 at 10:01 PM, Ryan Bilesky <rbilesky at gmail.com>
> > wrote:
> > 
> > 
> > > So I am working on a plugin where I want to selectivly throw a 404 error.
> > > 
> > > I try header() and this sets the http header to show a not found error,
> > > 
> > > 
> > but
> > 
> > > I get the browsers default 404 error page.
> > > 
> > > I try including the 404.php template file but while it looks like a 404
> > > error to the user, the http header status shows 200 ok.
> > > 
> > > I try using both methods together again no luck,. I want the http status
> > > code to show 404 AND to use the 404.php template to show the user. How
> > > does
> > > the core do this?
> > > 
> > > 
> > 
> > 
> > The template file doesn't have to do with the headers. You'll want to
> > trigger 404 headers via status_header('404') and the 404 template via
> > $wp_query->set_404(). But a lot of this depends on what exactly you're
> > trying to do.
> > 
> > Nacin
> > _______________________________________________
> > wp-hackers mailing list
> > wp-hackers at lists.automattic.com
> > http://lists.automattic.com/mailman/listinfo/wp-hackers
> > 
> > 
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
> 
> 
> 






More information about the wp-hackers mailing list