it-swarm.com.de

Variablen durch Permalink-Struktur übergeben

Ich habe eine WordPress-Seite, die über/accommodation/erreichbar ist.

Ich möchte in der Lage sein, einen Parameter über die URL zu übergeben, dh zu/accommodation/value1/zu gehen, würde die gleiche Seite wie/accommodation/laden, aber immer noch/accommodation/value1/in der Adressleiste des Browsers anzeigen.

Ich denke, eine andere Möglichkeit wäre, zu sagen, dass ich in der Lage sein muss, auf/accommodation/zuzugreifen, indem ich alles, was ich möchte, an das Ende der URL anhänge, während ich die URL behalte, die ich im Browserfenster eingegeben habe.

Ich habe dann einen Code in der Seitenvorlage, der basierend auf den auf der Seite übergebenen Werten verschiedene Aktionen ausführt.

Obwohl ich eine Abfragezeichenfolge verwenden könnte, möchte ich dies vermeiden, damit ich die "hübschen URLs" behalten kann.

Vielen Dank für jegliche Hilfe/Anregungen.

4
gbuckingham89

Ich habe es gelöst!

// Register the variables that will be used as parameters on the url
function add_my_var($public_query_vars) {
    $public_query_vars[] = 'extra_slug';
    return $public_query_vars;
}
add_filter('query_vars', 'add_my_var');

// Build the rewrite rules, for the extra parameter
function do_rewrite() {
    add_rewrite_rule('(accommodation)/[/]?([^/]*)$', 'index.php?pagename=accommodation&extra_slug=$matches[2]','top');
}
add_action('init', 'do_rewrite');

// The parameter is now accessible
get_query_var('extra_slug')
4
gbuckingham89