I'm currently trying to figure out how to get my custom url rewrites working (WP Rewrite the last two parts of the URL), while doing this I came across the following problem:

I have made a custom plugin (OOP) and I'm trying to add query variables to the public wordpress query variables list.

The code I use is the following:

     * Adding the trainingid var so that WP recognizes it, this is being called on the query_vars filter in the constructor.
     * @param $vars the variables coming from the filter
     * @return the same variables with the plugins query vars appended.
    function my_insert_query_vars($vars)
        // Push the query var id in the $vars array
        array_push($vars, 'trainingid');
        return $vars;

But when I execute the following code via a shortcode on a page the array printed does not contain trainingid.

global $wp_query;

Could anybody tell me what I am doing wrong?

  • I take it you have add_filter('query_vars', 'my_insert_query_vars' ); (or the object-related variant) near your method? Have you made sure that filter is firing? – Nate Cook Feb 27 '14 at 16:06
  • @NateCook It does fire, and when I print_r the $vars just before returning I see it added the variable to the array. – Elian ten Holder Feb 27 '14 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.