I am working on an advanced search on wordpress based on custom taxonomies. I've been stuck for 72h so I was hoping to have some help or thought...

Step 1 --- in the js file the query strings are created like that:

if (jQuery('#s').val() == ''){
URL = "/?genre=" + genre + '...other Stuff' #content';
URL = "/?s="+searchQueryString+"&genre=" + genre +'...other stuff' #content';

It nicelly load my custom loop in my #content div without changing the browser url or reloading the header, which is pretty good...so far. :-)

Step 2 --- then I wrote 2 functions in my function.php , one to load the loop with the GET[] elements on main page, using new WP_Query and one that does the same thing for search queries but only filter with:


Which is compiling my GET[] filters with the GET[s] in the content.php, Still all good....

Step 3 --- (problem^^)---

I want to add a css class to desactivate the radio buttons located in my header.php, depending on the results in the loop.

Try-1 I thought I could create a php array to compile the terms found while the loop is happening, and then compare it with my buttons value.like that:

$args = array('orderby' => 'name', 'order' => 'ASC', 'fields' => 'slugs');
$results = wp_get_post_terms(get_the_ID(),'category',$args);  
foreach ($results as $result){
    array_push($stack, $result);


But there is no way to retrieve the data from that array in the header afterwhile, or to create it from the header using things like global $post;since my url doesn't change. it just shows the homepage query.

Try-2 I also thought I could encode it to json and then put some action in my js file. but so far it just return json unexpected character, and I got the feeling that even if I crack it, its not going to be the right way since its going to make the js file heavier.

May be I'm just missing something about the Global wp_query and I don't need to charge my script?

Excuse my english and the long question,

thanks a lot in advance if you have an idea,


  • Exactly what is the question? In a single sentence?
    – s_ha_dum
    Jan 16, 2013 at 15:08
  • I guess that would be: "How can I get query-results from the main loop ,in the header, without refreshing the url?"...Hope its kind of clear^^, I am trying mwweb solution... Jan 16, 2013 at 15:36

1 Answer 1


It sounds like you're looking for wp_localize_script() which lets you pass data to a script that is already enqueued.

It works roughly like this:

// assuming your script is already registered
wp_enqueue_script( 'wpse_81817' );

// Do the array building of terms you plan on doing
$wpse_81817_phpdata = array( 'myKey' => 'a value' );

// Pass that to the JS
wp_localize_script( 'wpse_81817', 'wpse_81817_jsdata', $wpse_81817_phpdata );

Then, in your wpse_81817 script, you can get at the data like so:

print wpse_81817_jsdata.myKey;

That should return:

'a value'
  • Thanks mrwweb ! it sounds like its going to make the job! Jan 16, 2013 at 16:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.