Permalink-Struktur mit $ _SESSION-Variablen

Ich habe ein Projekt, bei dem Inhalte über die Website gefiltert werden (viele benutzerdefinierte WP_QUERY-Aufrufe). Ursprünglich gab es keine URL-Anforderungen, nur durch $ _SESSION- Variable zu filtern . functioniert perfekt, aber der NOW-Client möchte, dass jede Spezialität mit einer benutzerdefinierten URL geladen wird (ähnlich wie dies bei Kategorien bereits der Fall ist). Ich muss zuerst wissen:

Ist es möglich, eine Permalink-Struktur mit der Variable $ _SESSION zu erstellen?

Wenn ja:

Wie kann ich eine URL-Struktur wie diese erstellen?

Archiv Seite:

http://domain.com/session-var/ 

Einzelne Seite:

 http://domain.com/session-var/post-name 

Solutions Collecting From Web of "Permalink-Struktur mit $ _SESSION-Variablen"

Also konnte ich das mit Hilfe eines guten Freundes und PHP-Entwicklers selbst herausfinden. Ich entschuldige mich für einige der functionen, ie CUSTOM::slugify() ist benutzerdefiniert, aber wenn nötig, kannst du mein Div Starter-Thema ie CUSTOM::slugify() , um mehr darüber zu erfahren.

 add_action( 'init', 'cc_rewrite_add_rewrites' ); function cc_rewrite_add_rewrites() { $specialties = get_specialties(); //Fetches an array of postmeta defined from an ACF repeater field add_rewrite_rule( "^(" . implode("|", array_map(function($a) { return strtolower(CUSTOM::slugify($a)); }, $specialties) ) . ")/?", 'index.php', 'top' ); flush_rewrite_rules(); // check path for specialty loop through specialties foreach($specialties as $specialty) { $slug = CUSTOM::slugify($specialty); // I needed to convert to a slug, custom function in Div Starter if (preg_match("/\/" . strtolower($slug) ."(\/|$)/i", strtolower($_SERVER['REQUEST_URI']) )) { // set session variable $_SESSION['specialty'] = $specialty; break; } } 

}

Ich bemerkte, dass meine Seitennummerierung diese neue Permalink-Struktur verwendete und sie aufbrechen ließ, so dass ich in der Lage war, mich darin einzuklinken und den Zusatz wie folgt zu entfernen:

 add_filter( 'get_pagenum_link', 'wpse_cc_pagenum_link' ); function wpse_cc_pagenum_link( $link ){ return $url = str_replace( '/'.CUSTOM::slugify($_SESSION['specialty']), '', $link ); } 

Für weitere Informationen über die Anpassung Ihrer Permalinks war dieses Handbuch sehr hilfreich