Wie bekomme ich die Permalink-Struktur so?

domain.com/rents/miami-dade/

domain.de/unternehmen/miami-dade/

Dann für, sagen wir, Mieten / Miami-Dade / Ich würde durch einige verschiedene Bereiche innerhalb von Miami, eine Liste der Mieten für jedes Gebiet zeigen. Beispielsweise:

domain.com/rents/miami-dade/

würde so etwas machen, wenn man durch die Gebiete in Miami schlenderte:

Nord-Miami Beach

  • Miettabelle

Hialeah

  • Miettabelle

Cutler Ridge

  • Miettabelle

Ich müsste die exakt gleiche Sequenz für ein anderes Objekt, “Unternehmen”, nachahmen.

domain.de/unternehmen/miami-dade/

würde so etwas machen, wenn man durch die Gebiete in Miami schlenderte:

Nord-Miami Beach

  • Unternehmen Tabelle

Hialeah

  • Unternehmen Tabelle

Cutler Ridge

  • Unternehmen Tabelle

Wie könnte ich etwas so aufstellen? Ich habe bereits einen Unternehmensposttyp erstellt und Taxonomien für Landkreise und Städte erstellt.

Ich bin bereits in der Lage, die eigene Seite einer Taxomonie zu sehen, aber es ist nicht auf einen bestimmten Post-Typ beschränkt, was ich nicht brauche. Ich muss so etwas wie das, was ich hier gezeigt habe, ähneln.

Danke im Voraus!

Solutions Collecting From Web of "Wie bekomme ich die Permalink-Struktur so?"

Sie können dies mit add_rewrite_rule() .

Ich persönlich möchte dieses Beispiel in einer class zeigen, damit es fertig ist. Sie können dies in ein Plugin oder functions.php casting – ein Ort, der diesen Code vor query_vars , parse_request und init parse_request .

Das Ziel besteht darin, Regeln zum Überschreiben hinzuzufügen, sicherzustellen, dass Sie der Hauptabfrage benutzerdefinierte Eigenschaften hinzufügen können, und dann die Standardvorlage zu ersetzen, die mit Ihrer benutzerdefinierten Vorlage geladen werden soll.

 if (!class_exists('RentsAndCompaniesRewrite')): class RentsAndCompaniesRewrite { // WordPress hooks public function init() { add_filter('query_vars', array($this, 'add_query_vars'), 0); add_action('parse_request', array($this, 'sniff_requests'), 0); add_action('init', array($this, 'add_endpoint'), 0); } // Add public query vars public function add_query_vars($vars) { $vars[] = 'show_companies'; $vars[] = 'show_rents'; $vars[] = 'location'; return $vars; } // Add API Endpoint public function add_endpoint() { add_rewrite_rule('^rents/([^/]*)/?', 'index.php?show_rents=1&location=$matches[1]', 'top'); add_rewrite_rule('^companies/([^/]*)/?', 'index.php?show_companies=1&location=$matches[1]', 'top'); flush_rewrite_rules(false); //// < ---------- REMOVE THIS WHEN DONE TESTING } // Sniff Requests public function sniff_requests($wp_query) { global $wp; if ( isset( $wp->query_vars[ 'show_rents' ], $wp->query_vars[ 'location' ] ) ) { $this->handle_request_show_rents(); } else if ( isset( $wp->query_vars[ 'show_companies' ], $wp->query_vars[ 'location' ] ) ) { $this->handle_request_show_companies(); } } // Handle Requests protected function handle_request_show_rents() { add_filter('template_include', function ($original_template) { return get_stylesheet_directory() . '/templates/rents_by_location.php'; }); } protected function handle_request_show_companies() { add_filter('template_include', function ($original_template) { return get_stylesheet_directory() . '/templates/companies_by_location.php'; }); } } $wptept = new RentsAndCompaniesRewrite(); $wptept->init(); endif; // RentsAndCompaniesRewrite 

Fügen Sie in einem Verzeichnis innerhalb Ihres Designs die Vorlagen hinzu, die Sie bei der Bearbeitung der Anfrage verwenden.

/templates/companies_by_location.php

 < ?php global $wp; $location = $wp->query_vars[ 'location' ]; echo 'Companies in the ' . $location . ' area:'; 

/templates/rents_by_location.php

 < ?php global $wp; $location = $wp->query_vars[ 'location' ]; echo 'Rents in the ' . $location . ' area:'; 

Ok, ich habe ein paar grundlegende Ideen. Sie können ein Plugin namens Redirection installieren. Danach können Sie auf andere Seiten mit Ihren eigenen Daten verweisen und diese redirect.

Die URL ändert sich jedoch, wenn die Person auf die andere bestimmte Seite umleitet.

Jetzt, wenn Sie wollen, dass sie auf der bestimmten Seite landen … müssen Sie den Ordner in Server-Verzeichnis unter der Hauptwebsite machen und darin die Datei, die index.php oder index.html enthält. Beispiel: Gehe zu Cpanel und gehe zur Dateiverwaltung >> erstellte den Ordnernamen wenn du möchtest, für “domain.com/companies/miami-dade/” erstelle den Ordner “companies” dann den Unterordner “miami-dude”. Beachten Sie, dass jeder Ordner die index.html-Datei enthalten sollte oder nicht funktionieren wird. Hinweis: Mit diesem Trick wird Ihr Thema nicht kopiert, da Sie sonst eine ganze HTML-Seite erstellen und als index.html speichern müssen

Hoffe es könnte dir helfen 🙂