J'ai un lien comme celui-ci:
https://www.example.com/bh-job/38/?title=digital-marketing-intelligence-expert
Lorsque je surfe sur la page, je suis redirigé vers la page 404 car cette page n’existe pas. La page n'existe pas mais j'aimerais rediriger vers https://www.example.com/jobs à la place.
J'ai aussi une autre page comme celle-ci:
https://www.example.com/bh-job/121/?title=sem-manager
Et ceci est une page réelle et peut être trouvé.
Donc, il me faudrait une vérification où je redirige de la page 404 vers la page /jobs LORSQUE le lien commence par https://www.example.com/bh-job/ et est introuvable. Comment pourrais-je faire ça?
J'utiliserais le hook wp
, qui se déclenche juste après l'analyse de la demande et l'interrogation suivante:
function wpse_199869_wp( $wp ) {
if ( ! is_admin() && is_404() && preg_match( '/^bh-job/', $wp->request ) ) {
wp_redirect( home_url( user_trailingslashit( 'jobs' ) ) );
exit;
}
}
add_action( 'wp', 'wpse_199869_wp' );
Nous nous assurons qu'il s'agit bien d'un 404 et vérifions si la requête (chemin d'URI) commence par bh-job
- si c'est le cas, redirigez-le vers /jobs
(la fonction user_trailingslashit
ajoutera ou supprimera une barre oblique de fin correspondant à votre structure de lien permanent).