2017-07-27 5 views
0

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.

Antwort

1

Der ganze Sinn der Verwendung von GET ist es, Variablen in Ihre URL zu setzen. Dies bildet eine eindeutige URL, die von Suchmaschinen mit einem Lesezeichen versehen und indiziert werden kann. Wenn Sie dies nicht möchten, verwenden Sie stattdessen POST. Mit POST können Sie Variablennamen verschlüsseln, wodurch sie weitaus sicherer sind als die Lösung, nach der Sie fragen.

Verwandte Themen