私はこのようなリンクがあります:
https://www.example.com/bh-job/38/?title=digital-marketing-intelligence-expert
ページを閲覧したときに、404ページがリダイレクトされました。ページが存在しないためです。ページは存在しませんが、代わりに https://www.example.com/jobs にリダイレクトしたいです。
私はまたこのような別のページがあります:
https://www.example.com/bh-job/121/?title=sem-manager
これは実際のページであり、見つけることができます。
そのため、404ページから/ jobsページにリダイレクトしたときに、https://に移動する必要があります。 www.example.com/bh-job/で、見つかりません。どうすればいいの?
私はwp
フックを使用します。これはリクエストが解析され問い合わせられた直後に起動します。
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' );
404であることを確認して、リクエスト(URIパス)がbh-job
で始まるかどうかを確認します - もしそうなら、/jobs
にリダイレクトします(user_trailingslashit
関数はパーマリンク構造に合うように末尾のスラッシュを追加または削除します)。