how to make URL link query string

I have pages with a custom meta field called “ctr_state”, and it contains a state name, like “Arizona”.

I am trying to construct a hyperlink that will return an archive-like list of pages that match the meta_value I am looking for.

Read More

For instance,

<a href="http://mydomain.com/?type=page&amp;meta_key=ctr_state&amp;meta_value=Arizona">Show All Arizona Pages</a>

This isn’t working, but is just to show how I want it to work as a link. I don’t want a list on the page, I just want it to link to an archive type page, showing just the page’s that match the state I’m looking for.

Is this possible?

Related posts

1 comment

  1. This is how I got it working:

    ADDED this to functions.php:

    function include_template_function( $template_path ) {
        global $wp;
        if ($wp->request == 'state') {
            $template_path = locate_template( array ( 'state.php' ) );
        }
        return $template_path;
    }
    
    $state_name = $_GET['st']; //this is added to use as a global variable
    

    ADDED THIS to header.php because WP thinks it’s serving a 404 page

        if ($wp->request == 'state') { 
            echo 'Member Centers in ' . $state_name . ' | ';
        } else {
            wp_title( '|', true, 'right' );
        } 
    ?>
    </title>
    

    ADDED THIS to the base template (page.php):

    <?php 
        $baseURL = esc_url( home_url( '/' ) );
        $ak_link = $baseURL . 'state?st=Alaska'; // for each state
    ?>
    <a href="<?php echo $ak_link; ?>">Show Alaska Pages</a> 
    

    CREATED state.php template that handles state queries:

    <?php global $state_name; ?> ?>
    
    <?php 
        $mypages = get_pages('child_of='.$parent_page_id.'&sort_order=ASC&parent='.$parent_page_id.'&meta_key=ctr_state&meta_value='.$state_name);
        foreach($mypages as $page)
        {
    ?>
    ... Do Stuff! ...
    <?php } ?>
    

Comments are closed.