Benutzerdefinierte Permalinks mit NextGEN Gallery

Ich setze meinen WordPress-Permlink auf /%category%/%postname% jetzt benutze ich Nextgen Gallery, also wenn ich eine Galerie in einer Seite habe, wird es etwas wie /cat/page?gallery=10 ich möchte es so machen cat/page/gallery id/ ich habe viel mit wp_rewrite versucht … aber kein glück … irgendeine hilfe?

das ist was ich teste auf .. es ist nicht mein code es ist von wordpress zur verfügung gestellt … ich werde alles an seinen flushRules stellen, wenn ich den weg gefunden habe … also mach dir keine sorgen ich werde keine flushRules auf init … Danke vielmals

 add_filter('rewrite_rules_array','wp_insertMyRewriteRules'); add_filter('query_vars','wp_insertMyRewriteQueryVars'); add_filter('init','flushRules'); // Remember to flush_rules() when adding rules function flushRules(){ global $wp_rewrite; $wp_rewrite->flush_rules(); } // Adding a new rule function wp_insertMyRewriteRules($rules) { $newrules = array(); //i don't know what should i put here $newrules[''] = ''; return $newrules + $rules; // } // Adding the id var so that WP recognizes it function wp_insertMyRewriteQueryVars($vars) { array_push($vars, 'id'); return $vars; } 

Solutions Collecting From Web of "Benutzerdefinierte Permalinks mit NextGEN Gallery"

Haben Sie sich die Rewrite-API angesehen ? Vielleicht kann das dein Problem lösen?
Wenn Sie die Rewrite-API verwenden, sollten Sie wahrscheinlich die NextGen-Rewrite-function deaktivieren.

Mit einem zusätzlichen Endpunkt

Da Sie am Ende jeder Post / Page Rewrite-Regel etwas hinzufügen möchten, können Sie wahrscheinlich einfach einen Rewrite-Endpunkt hinzufügen. Dies sind Regexe der Form /[endpoint_name](/[optional_extra_stuff])? Diese werden an die bereits generierten Regeln für Seiten, Posts, Archive, … angehängt.

Sie definieren, auf welchen Strukturen Sie sie hinzufügen möchten, indem Sie die Endpunktmaske festlegen. Dies ist eine Bitmaske, so dass Sie verschiedene Gruppen mit | kombinieren können Operator wie EP_PERMALINK | EP_PAGES : EP_PERMALINK | EP_PAGES EP_PERMALINK | EP_PAGES wird für jede Seite und jeden Permalink (vollständige EP_PERMALINK | EP_PAGES und EP_PERMALINK | EP_PAGES Archive) übereinstimmen. Die Standardliste der Endpunkte befindet sich am Anfang von wp-includes/rewrite.php .

Der folgende Code fügt /gallery(/(.*))? zu den bestehenden Umschreibungsregeln für Seiten, Posts und EP_PERMALINK Archive (aus irgendeinem Grund werden sie zweimal generiert, einmal in EP_PERMALINK und einmal in EP_DATE ):

 add_filter( 'init', 'wpse4498_init' ); function wpse4498_init() { add_rewrite_endpoint( 'gallery', EP_PERMALINK | EP_PAGES ); } 

Mit expliziten neuen Rewrite-Regeln

Sie können dies auch explizit tun, wodurch Sie mehr Kontrolle über die generierten Regeln erhalten.

Die Rewrite-Regel selbst ist recht einfach: nimm die generische Post-Regel (.+?)/([^/]+) ( category/pagename ) und füge deine Galerie-Struktur hinzu. NextGEN fügt seine Abfragevars immer hinzu, nicht nur wenn Permalinks aktiviert sind, also können wir einfach die gallery var verwenden:

 '(.+?)/([^/]+)/gallery/([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&name=$matches[2]&gallery=$matches[3]' 

Die Platzierung Ihrer zusätzlichen Rewrite-Regel ist schwierig. Da Ihre Permalink-Struktur /%category%/%postname%/ , haben Sie ausführliche Rewrite-Regeln und können kein generisches (.+?)/([^/]+) An die Spitze setzen: Ihre Seiten funktionieren nicht mehr. Sie können es nicht ganz unten einfügen, da die Anhangsregeln ziemlich allgemein sind und die URL übereinstimmen, bevor sie Ihre Regel erreichen. Ich denke, der beste Ort, um es hinzuzufügen, ist mit dem Filter post_rewrite_rules . Dies wird folgendes geben:

 add_filter( 'post_rewrite_rules', 'wpse4498_post_rewrite_rules' ); function wpse4498_post_rewrite_rules( $post_rewrite_rules ) { $post_rewrite_rules = array( '(.+?)/([^/]+)/gallery/([0-9]{1,})/?$' => 'index.php?category_name=$matches[1]&name=$matches[2]&gallery=$matches[3]', ) + $post_rewrite_rules; return $post_rewrite_rules; } 

Dies gilt nur für Posts. Wenn Sie auch Seiten mit Galerien unterstützen möchten, wird es viel komplizierter, da Sie sie für jede ausführliche Seitengruppe hinzufügen müssen.

Hast du die Permalinks in den NextGen Einstellungen aktiviert? Unter Galerie -> Optionen -> Allgemein wählen Sie ‘Permalinks aktivieren’ und setzen dann Ihre allgemeinen Permalink Einstellungen einmal zurück. Es ist nicht die sauberste URL der Welt (es nimmt die Seiten-ID anstelle des Namens), aber es macht den Job.