Wie bekomme ich page_id zum Umschreiben der URL oder wie benutze ich page_lid zum Aufruf einer Seite?

Ich möchte einfach ein URL-Rewrite erstellen, das das dritte Argument übernimmt und es mit den entsprechenden Seiten abgleicht, wobei die anderen beiden Argumente ignoriert werden.

domain.com/argument1/argument2/page-slug = 'index.php?page_id=XXX'; 

Ist es möglich, eine Seite über ihren Slug anstatt ihrer ID anzurufen, oder kann ich die ID basierend auf einem Seiten-Slug irgendwie generieren?

AKTUALISIEREN:

Ich bin jetzt viel weiter hier:

 add_filter('rewrite_rules_array', 'mmp_rewrite_rules'); function mmp_rewrite_rules($rules) { $newRules = array(); $newRules['bus-tours/(.+)/(.+)/(.+)/?$'] = 'index.php?bus-tours=$matches[3]'; $newRules['(.+)/?$'] = 'index.php?pagename=$matches[1]'; //$newRules['bus-tours/(.+)/(.+)/?$'] = 'index.php?pagename=$matches[2]'; return array_merge($newRules, $rules); } 

Was dies mir erlaubt ist:

 /bus-tours -> and it shows the bus-tours pages. /bus-tours/California -> and it shows me the child page of bus-tours, which is Calfironia /bus-tours/california/SanFran/Tourx -> and it shows me the CPT post for TourX 

Also, ziemlich gut für jetzt. Tho, da ich viele CPTs benutze, möchte ich die erste Regel ändern, damit “Bus-Touren” durch eine Variable ersetzt werden können.

 $newRules['(.+)/(.+)/(.+)/(.+)/?$'] = 'index.php?$matches[1]=$matches[3]'; 

Dies funktioniert nicht. Irgendwelche Hilfe hier?

Danke, Daniel

Solutions Collecting From Web of "Wie bekomme ich page_id zum Umschreiben der URL oder wie benutze ich page_lid zum Aufruf einer Seite?"

Verwenden Sie pagename anstelle von page_id , um nach Slug abzufragen. Beachten Sie, dass pagename der vollständige übergeordnete / pagename Pfad zu der Seite sein muss, wenn eine Seite ein pagename einer anderen Seite ist, da bei hierarchischen Beitragstypen nur die pagename eindeutig sein müssen. WP_Query vollständige Liste der WP_Query Sie unter WP_Query .

Sie können versuchen, $post_id wobei $page_name = $page_name