J'ai quelques types de messages personnalisés enregistrés = Personnel, Propriétés
Si j'ai une page avec le slug archive-staff
, comment puis-je rediriger automatiquement cette page vers la page d'archive Staff CPT avec une fonction php?
Cela devrait également fonctionner pour toute page commençant par "archive-", redirigeant automatiquement vers l'archive de tout type de message personnalisé enregistré correspondant au 2e mot du slug.
Ainsi, la page personnalisée du personnel d'archivage serait redirigée vers la page d'archive Personnel CPT.
La page de propriétés d'archivage personnalisées serait redirigée vers la page d'archive Properties CPT.
... et ainsi de suite pour tous les types de publication personnalisés uniquement si leur page personnalisée correspondante existe.
Il y a beaucoup de solutions pour ça ..
Vous pouvez mettre quelques règles de redirection dans votre fichier .htaccess:
RewriteRule ^(.*)\-staff/$ /staff/? [L,R=301]
// some other rules
function my_redirect_function() {
global $wp;
if ( preg_match( '@staff/?$@', $wp->request ) ) {
wp_redirect( get_post_type_archive_link( 'staff' ) );
die;
}
// ... put other rules in here
}
add_action( 'template_redirect', 'my_redirect_function' );
Vous pouvez utiliser ce plugin et définir des redirections personnalisées basées sur des expressions régulières.