Fügen Sie den Link “page-a” zum Kategorielink hinzu, wenn der Nutzer den Kategorielink von “page-a” aufruft.

Ich habe Gebietsseiten wie unten:

http://www.example.com/area1 http://www.example.com/area2 

Auf jeder Bereichsseite zeigen gängige wp-Menüs Kategorien an . Um zu veranschaulichen:

Menüpunkte:

-> Kategorie1

-> Kategorie2

Ich habe meine Permalink Einstellungen wie folgt eingestellt:

Benutzerdefinierte Struktur: http://www.example.com/artiklar/%post_id%

So für jetzt Meine Kategorie URL ist:

 http://www.example.com/artiklar/category/category1 

Aber meine Anforderungen ist, wenn Benutzer Besuch Kategorie Seite annehmen Kategorie 1 von Bereichsseite sagen Bereich 1, dann Kategorie URL ergibt sich wie unten URL:

 http://www.example.com/artiklar/category/category1?tag=area1 

Und wenn Kategorie-Menü von Bereich 2 besucht wird, dann sollte es sein:

 http://www.example.com/artiklar/category/category1?tag=area2 

Bitte schlagen Sie vor, ich bekomme keine Idee durch die Suche im Internet, wie Sie diese Art von Struktur implementieren.

BEARBEITEN:

Um zu verdeutlichen, dass ich eine Seite der Kategorie an die Kategorie-URL anhängen möchte (Seite, von der aus der Nutzer den Kategorie-Link besucht, wird der Slug dieser Seite zur Kategorie-URL am Ende der URL hinzugefügt)

Solutions Collecting From Web of "Fügen Sie den Link “page-a” zum Kategorielink hinzu, wenn der Nutzer den Kategorielink von “page-a” aufruft."

Sie möchten den Kategorielink filtern, um die benutzerdefinierte Variable dem Kategorielink hinzuzufügen. Sie können den Filter get_term_link , um die Kategorielinkadresse zu filtern

Hier ist eine sehr grundlegende Idee:

Nehmen wir an, dass wir, aus OP übernommen, die benutzerdefinierte Variable nur zu Termen hinzufügen müssen, die zur category Build-Taxonomie category , und nur wenn wir uns auf einer echten Seite befinden und die Seiten-ID als Wert zur URL hinzufügen möchten. Wir können eine Filterfunktion erstellen, um genau das zu tun, und indem wir add_query_arg() , können wir eine neue frompage von der Seite zur URL hinzufügen.

Hier ist eine grundlegende function, die Sie erweitern und ändern können, wie Sie es für richtig halten. Ich habe den Code kommentiert, damit er leicht zu befolgen ist

 add_filter( 'term_link', function ( $termlink, $term, $taxonomy ) { // If this is not a page, return the unmodified term link if ( !is_page() ) // Change this to what is specific to your needs return $termlink; // Only target the build in taxonomy 'category' if ( $taxonomy !== 'category' ) // Adjust to your exact taxonomy return $termlink; // Get the current viewed paged id $current_id = get_queried_object_id(); // Make sure we actually have a value, if not, return the term link if ( $current_id == 0 ) return $termlink; // If we reached this point, we are good to go and should add our query var to the URL $termlink = esc_url( add_query_arg( ['frompage' => $current_id], $termlink ) ); return $termlink; }, 10, 3 ); 

Sie können den Wert dann wie folgt abrufen:

 $value = filter_input( INPUT_GET, 'frompage', FILTER_VALIDATE_INT ); if ( $value ) echo $value; 

Beachten Sie, dass ich filter_input hier verwendet filter_input , um den $_GET Wert zu erhalten. Das liegt daran, dass filter_input validiert, ob der übergebene Wert existiert und ihn entweder zurückgibt oder false zurückgibt. Sie können auch einen Filter übergeben, der für den Wert verwendet wird, in diesem Fall FILTER_VALIDATE_INT . Alles in allem ist es ein viel besserer und sicherer Weg als $_GET( 'frompage )’