[wp-pro] internal redirects
Mike Schinkel
mikeschinkel at newclarity.net
Tue Apr 27 16:50:01 UTC 2010
This list is reserved for hiring people.
To ask questions, go here:
http://wordpress.org/support/
http://tech.groups.yahoo.com/group/wpgarage/
http://www.wptavern.com/forum/
http://www.linkedin.com/groups?gid=154024
-Mike
On Apr 27, 2010, at 12:15 PM, capsx wrote:
> Hello all!
>
> I'm quite new to WP, especially to wordpress plugins.
> I'm writing plugin which validate posted form (frontpage).
>
> My style that i did that task previous is:
>
> 1. after user submit the form, i check posted variables
> 2. if there are errors i redirect user back to the same page, before that i set in session in which there are errors
> 3. code cheks if there are errors or something else to show, and if is, it's shows
>
> the problem starts with headers.
> in the example above i used technique with ob_start(); and ob_end_clean(); in index file, to prevent 'headers already sent' error is displaying
>
> but in wordpress it's a bit different ...
>
> at first time my way to complete the task was:
>
> add_shortcode('shortcode', 'asd');
> then make function asd() which calls class and class is displaying needed information
> and in that case i can't use header('location: xxx), cause headers are already sent ...
>
> so i made all that in a different way:
>
> my code get slug from wp options and compare it with requested page slug
> if both are equal - function is called to show my plugin
>
> --
>
> $plugin_call_slug = get_option('_slug');
> $requested_uri = base_server('REQUEST_URI'); // == $_SERVER['REQUEST_URI']
> $requested_page = get_page_by_path( $requested_uri );
>
> $requested_page = $requested_page->post_name;
>
> if($requested_page == $plugin_call_slug)
> {
> _function();
> }
>
> --
>
> and _function calls class, and that class make all what it must do
> and all output is stored in variable $return and that variable is stored in session variable $ss
>
> and then we call the same function
> add_shortcode('shortcode', 'asd');
> only now function() is displaying only that variable from session variable $ss which hold all output from class execution
>
> function asd()
> {
> $a = base_session('return');
> echo $a;
> }
>
> ---
>
> THE QUESTION IS - IS THIS A +/- CORRECT WAY HOW TO MAKE INTERNAL REDIRECTS, OR THERE IS OTHER LESS PAINFUL WAYS TO MAKE THOSE REDIRECTS AND OUTPUT NEEDED CONTENT... ???
>
> ---
>
> thx :)
> _______________________________________________
> wp-pro mailing list
> wp-pro at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-pro
More information about the wp-pro
mailing list