- shares
- Facebook Messenger
- Gmail
- Viber
- Skype
template_redirect là action quen thuộc để chuyển hướng redirect url đến trang khác trong wordpress, khi gặp điều kiện không mong muốn ở trang hiện tại bạn muốn website chuyển sang page khác (redirect url), để hoạt động thì có thể sử dụng hook template_redirect.
function my_page_template_redirect() { if( some_condition() ) { wp_redirect( site_url( 'other-page' ) ); exit(); } } add_action( 'template_redirect', 'my_page_template_redirect' );
Chú ý: nếu wp_redirect có lỗi sẩy ra, thì thử dùng hàm wp_safe_redirect này sẽ giải quyết được vấn đề.
Tuy nhiên nó gặp một vấn đề về ngắt trang và có thể các plugins chưa được hoạt động, làm trang web của bạn không hoạt động đúng. Vậy ngoài ‘template_redirect’ bạn có thể sử dụng action ‘template_include’. template_include với mục đích include template file, xem thêm tại đây.
add_filter( 'template_include', 'my_callback' ); function my_callback( $original_template ) { if ( some_condition() ) { return SOME_PATH . '/some-custom-file.php'; } else { return $original_template; } }
Sử dụng hook này để thay thế cho template_redirect là một giải pháp.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ với bạn bè bằng cách nhấn nút chia sẻ ở bên dưới. Theo dõi chúng tôi trên Twitter và Facebook
- shares
- Facebook Messenger
- Gmail
- Viber
- Skype