Bildanhang Url Rewrite

Ich habe ein Problem mit URL-Rewriting für ein Thema, das ich mache, das ist im Grunde ein Galerie-Thema basierend auf dem Thema root. So funktioniert die Websitenavigation:

  • Startseite (mit gedeckter Bildergalerie) (Bilder domain.com auf die übergeordneten Seiten) Aktuelle URL – domain.com
  • Parent-Seite (mit gedeckter Bildergalerie) (Bilder verlinken auf die Anhangsseite zusammen mit #id, um auf das angeklickte Bild zu verweisen). Aktuelle URL – domain.com/landscapes
  • Anhangsseite (mit ALLEN Bildern in voller Größe an den übergeordneten Beitrag angehängt). Aktuelle URL – domain.com/landscapes/image-title/#id

Ich möchte den Bildtitel von der URL der domain.com/landscapes/gallery/#id entfernen und durch eine Galerie ersetzen, sodass die URL domain.com/landscapes/gallery/#id lautet

Meine content-image.php verwendet wp_get_attachment_image_src() , um die Image-URLs zu erhalten. Bei deaktivierten Permalinks bekomme ich eine Image URL wie domain.com/index.php?attachment_id=205

Beim Überprüfen der hübschen URL mit dem Rewrite Rules Inspector-Plugin erhält diese URL ( domain.com/landscapes/image-title/#id ) zwei Übereinstimmungen, die wie folgt aussehen:

REGEL 1: (.?.+?)(/[0-9]+)?/?$

Schreibe 1: index.php?pagename=$matches[1]&page=$matches[2]

REGEL 2: [^/]+/([^/]+)/?$

Schreibe 2: index.php?attachment=$matches[1]

Von dem, was ich verstehe, ist die zweite Regel diejenige, die in diesem Fall angewendet wird, aber ich habe keine Ahnung, wozu ich es ändern soll. Irgendeine Idee, wie man das macht?

Solutions Collecting From Web of "Bildanhang Url Rewrite"

Ok, also habe ich die Antwort gefunden. Ich habe den Code gemäß https://wordpress.stackexchange.com/a/56426/37472 verwendet und alle Referenzen von 'series' in 'gallery' geändert.

Dadurch wurde die erforderliche Rewriter-Regel hinzugefügt, um einen Link wie domain.com/landscapes/gallery/123/ zu index.php?attachment_id=123 zu analysieren.

Meine Annahme war, dass WordPress den Default Permalink, der von get_permalink() im domain.com/landscapes/gallery/123/ Format generiert wird, get_permalink() domain.com/landscapes/gallery/123/ . Es tut nicht. Ich habe jedoch eine einfache Problemumgehung in meinem Galerieskript verwendet, um die Ankerverknüpfungen im erforderlichen Format zu generieren, das für die Homepage, Unterseiten und übergeordnete / andere Seiten unterschiedlich ist. Das Skript verwendet Isotope und Lazy Load, um die Galerien http://pastie.org/8294032 zu laden.

Für das unterschiedliche Format der Seiten habe ich die function my_rewrite_rules_array( $rules ) folgendermaßen geändert:

 function my_rewrite_rules_array( $rules ) { $my_rules = array(); $my_rules['gallery/(\d+)/?$'] = 'index.php?attachment_id=$matches[1]'; $my_rules['(\w+)/gallery/(\d+)/?$'] = 'index.php?attachment_id=$matches[2]'; $my_rules['(\w+)/(\w+)/gallery/(\d+)/?$'] = 'index.php?attachment_id=$matches[3]'; return $my_rules + $rules; }