it-swarm.com.de

wie erstelle ich eine URL-Link-Abfragezeichenfolge?

Ich habe Seiten mit einem benutzerdefinierten Metafeld namens "ctr_state" und es enthält einen Statusnamen wie "Arizona".

Ich versuche, einen Hyperlink zu erstellen, der eine archivähnliche Liste von Seiten zurückgibt, die dem von mir gesuchten meta_value entsprechen.

Zum Beispiel,

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

Dies funktioniert nicht, sondern nur, um zu zeigen, wie ich möchte, dass es als Link funktioniert. Ich möchte keine Liste auf der Seite, sondern nur einen Link zu einer Seite vom Archivtyp, auf der nur die Seiten angezeigt werden, die dem von mir gesuchten Status entsprechen.

Ist das möglich?

1
stabilimenta

So habe ich es geschafft:

FÜGTE dies zu functions.php hinzu:

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

FÜGTE DIESES zu header.php hinzu, weil WP denkt, dass es eine 404-Seite liefert

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

FÜGEN SIE DIESER Vorlage hinzu (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-Vorlage, die Statusabfragen verarbeitet:

<?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 } ?>
1
stabilimenta