WordPress get_query_var()

后端 未结 3 1662
闹比i
闹比i 2021-02-07 12:10

I am busy developing a WordPress application and I need to be able to pass url parameters using WordPress functions. I use add_query_arg() function to add a url par

相关标签:
3条回答
  • 2021-02-07 12:29

    I managed to get the get_query_var() function to work. To use the two functions successfully, you need to add the query vars to wordpress's query vars array. Here is a code sample.

    function add_query_vars_filter( $vars ){
      $vars[] = "query_var_name";
     return $vars;
    }
    
    //Add custom query vars
    add_filter( 'query_vars', 'add_query_vars_filter' );
    

    Now you can use get_query_var() and add_query_arg() as follows:

    Add the query var and value

    add_query_arg( array('query_var_name' => 'value'), old_url );
    

    Get the query var value

    $value = get_query_var('query_var_name');
    

    More information and code samples can be found at the Codex: get_query_var and add_query_arg

    0 讨论(0)
  • 2021-02-07 12:33

    To troubleshoot, what variables are being used in the request use following code

    global $wp_query;
    var_dump($wp_query->query_vars);
    
    0 讨论(0)
  • 2021-02-07 12:37

    If you check out the Codex, you'll see you actually need to do some fiddling to get WP to start reading your query string.

    Codex (under Custom Query Vars)

    Excerpt:

    In order to be able to add and work with your own custom query vars that you append to URLs (eg: "mysite com/some_page/?my_var=foo" - for example using add_query_arg()) you need to add them to the public query variables available to WP_Query. These are built up when WP_Query instantiates, but fortunately are passed through a filter 'query_vars' before they are actually used to populate the $query_vars property of WP_Query.

    0 讨论(0)
提交回复
热议问题