In manchen WordPress-Anwendungsfällen kommt es vor, dass im Template „single.php“ für einen Beitrag oder für einen benutzerdefinierten Content Typen im Template „single-{post_type}.php“ eine Paginierung stattfinden soll.
Ein Beispiel wäre hier, dass alle weiteren Beiträge oder Content Typen direkt unter dem Inhalt des Beitrages oder Content Typen angezeigt und in diesem auch paginiert werden können.
Problem dabei ist, dass der Filter „redirect_canonical“ bei einem Aufruf der Beitragsseiten oder Seite des Content Typen mit den Permalink-Parametern für die Paginierung „…/beitrag/page/x“ dazwischenfunkt und auf „../beitrag/“ weiterleitet. Der Filter kann über folgenden Code angepasst werden:
add_filter( 'redirect_canonical', 'namespace_redirect_canonical' ); function namespace_redirect_canonical( $redirect_url ) { if ( is_singular( 'MY_CUSTOM_POST_TYPE' ) ){ $redirect_url = false; } return $redirect_url; }
Das Beispiel schaltet die Weiterleitungen für einkommende Links für den Beitragstypen „MY_CUSTOM_POST_TYPE“ aus. Ob eine Weiterleitung notwendig ist, kann als Erweiterung dieses Beispiels abgeprüft werden und bei Bedarf mit Paginierungs-Parametern weitergeleitet werden.