Wie paginieren / paginieren Sie mit einem benutzerdefinierten Permalink?

Ich hoffe, ich kann das richtig erklären:

Ich arbeite an einem Projekt mit mehreren Post-Typen und benutzerdefinierten Permalinks. Ich habe einen Beitragstyp für TV / Filmserien / Franchise und einen separaten Beitragstyp für Inhalte (Episoden, Filme, Direkt zu Video). Für den Inhaltstyp habe ich derzeit einen Permalink, der so ist:

abc.com/watch/%content_series%/%content_type%/%postname% 

Dank der abc.com/watch/%content_series%/%content_type%/ verschlechtert sich die Struktur: Ich kann Archivpflastern haben, die nur abc.com/watch/%content_series%/%content_type%/ oder abc.com/watch/%content_series%/ kein Problem sind. Das Problem, auf das ich stoße, ist die Seitennummerierung. Wenn ich abc.com/watch/one-piece/page/2 , habe ich einen Haken gefunden, denn anstatt zu erkennen, dass ich Seite 2 möchte, denkt man, dass Seite ein content_type und 2 der name .

Ein Screencap des Rewrite Analyzers bestätigt dies: Bildbeschreibung hier eingeben

Also, die richtige Neufassung ist da, sie hat einfach keinen Vorrang. Gibt es eine Möglichkeit, dies richtig zu machen?

EDIT: Hier ist der Code, der alles aufstellt:

 //Query vars/tags add_rewrite_tag('%content_series%','([^/]+)'); add_rewrite_tag('%content_type%','([^/]+)'); add_rewrite_tag('%content_num%','([0-9]{1,})'); //Permastructs $content_struct = get_option('veda_content_slug') . '/%content_series%/%content_type%/%postname%'; add_permastruct('veda_content', $content_struct, false); add_rewrite_rule( get_option('veda_content_slug') .'/?$', 'index.php?post_type=veda_content', 'top' ); 

Solutions Collecting From Web of "Wie paginieren / paginieren Sie mit einem benutzerdefinierten Permalink?"

Ich habe diese genaue Frustration schon vorher geteilt. Folgendes sollte helfen, verlorene Gesundheit zurückzugeben.

Ihr erstes Rewrite ist ziemlich locker und Ihr zweites Rewrite wird nicht angezeigt, da ‘page’ mit Ihrem zweiten Segment von ([^ /] +) übereinstimmt. Der Weg, um dies zu beheben, ist umgekehrt die Reihenfolge der Registrierung innerhalb des Codes. Wenn das seitenweise Umschreiben unterhalb der Regel liegt, legen Sie es oberhalb oder umgekehrt in eine Zeile, wo immer Sie die Umschreibungsregeln registrieren.

Sie werden sehen, dass die Regeln im Analysator korrekt angezeigt werden.

Hoffe das hilft!

Okay, nach vielen Experimenten habe ich eine Lösung gefunden. Alles, was ich tun musste, war, einige benutzerdefinierte Regeln zum Umschreiben zu erstellen, damit es funktioniert:

 //Custom rewrites add_rewrite_rule( $slug . '/page/([0-9]+)?/?$', 'index.php?post_type=veda_content&paged=$matches[1]', 'top' ); add_rewrite_rule( $slug . '/([^/]+)/page/([0-9]+)?/?$', 'index.php?post_type=veda_content&paged=$matches[2]&content_series=$matches[1]', 'top' ); add_rewrite_rule( $slug . '/([^/]+)/([^/]+)/page/([0-9]+)?/?$', 'index.php?post_type=veda_content&paged=$matches[3]&content_series=$matches[1]&content_type=$matches[2]', 'top' ); 

Diese machen den Trick in dem Neuschreibanalysator. Hofft, dass dies jemand anderem hilft.