Ich anfügen "Sel" an meine URL, um zu verfolgen, welcher Link ausgewählt wurde, und zeigen Sie dann Elemente auf der Grundlage dieser Auswahl auf der nächsten Seite. Früher habe ich die folgenden in functions.php es als Abfrage var registrieren (und nicht nur $ _GET verwenden):WordPress benutzerdefinierte Variablen von URL entfernen
function add_query_vars_filter($vars){
$vars[] = "sel";
return $vars;
}
add_filter('query_vars', 'add_query_vars_filter');
Dann habe ich den Link mit dem var add_query_arg() erstellt in die Vorlage, wo die Links sind.
$link = add_query_arg('sel', $slug, get_the_permalink($news_specials_listing_page_id));
<a href="<?php echo $link ?>">
Wenn ich jedoch auf diesen Link klicke, sehe ich immer noch das "? Sel" in der URL. Ich habe meine Permalinks Einstellung, um Namen in Einstellungen> Permalinks zu posten, so sehe ich nicht die typischen WordPress-Variablen. Ist es möglich, "sel" zusammen mit dem Rest der registrierten Abfragevariablen zu verstecken und den Wert immer noch mit get_query_var() zu erfassen?
Ich habe auch versucht, eine benutzerdefinierte Rewrite-Tag hinzufügen und spülen meine Permalinks.
function custom_rewrite_tag() {
add_rewrite_tag('%sel%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
Ich habe mit add_rewrite_rule() zu experimentieren und haben festgestellt, dass es RewriteRules in .htaccess hinzufügt. Wenn ich also eine Rewrite-Regel hinzufüge, die die sel-Variable in einem regulären Ausdruck erfasst und umleitet, wird die Variable dann noch gespeichert? Ich habe auch eine schwierige Zeit herauszufinden, was die Regel wäre.