Cara Mengarahkan Pengguna Jika Tidak Masuk di WordPress »Pengalihan Halaman
Diterbitkan: 2022-01-02Di posting terakhir, saya menunjukkan cara memeriksa apakah pengguna login di WordPress. Salah satu alasan umum mengapa Anda mungkin ingin memeriksa apakah pengguna WordPress masuk adalah untuk menampilkan halaman yang berbeda berdasarkan status masuk pengguna WordPress. Jika Anda ingin mengarahkan pengguna jika tidak login di WordPress, Anda dapat melakukannya dengan menambahkan potongan kode di file functions.php Anda seperti yang akan Anda lihat di tutorial singkat ini.
Mengapa mengarahkan pengguna di WordPress?
Mengarahkan pengguna adalah persyaratan penting untuk sebagian besar situs WordPress. Ada waktu yang berbeda Anda mungkin ingin mengarahkan pengguna dari satu halaman ke halaman lain. Misalnya, Anda dapat mengarahkan ulang pengguna WooCommerce setelah checkout, atau Anda dapat mengarahkan ulang pengguna setelah pendaftaran atau pengalihan masuk ke situs web.
Untuk mengarahkan ulang jika tidak masuk ke WordPress adalah salah satu pengalihan yang paling umum. Meskipun ada plugin yang dapat membantu mengelola pengalihan di WordPress tetapi menambahkan cuplikan kecil yang memecahkan masalah ini adalah solusi yang lebih baik daripada mengandalkan plugin pihak ketiga.
Dalam tutorial ini, saya akan menunjukkan cara menambahkan cuplikan di tema atau plugin Anda yang membuat pengalihan untuk pengguna yang tidak masuk ke halaman pilihan Anda.
Langkah-langkah untuk Redirect jika Tidak Masuk di WordPress
Untuk menerapkan redirect jika tidak login di WordPress, Anda harus mengikuti langkah-langkah berikut:
- Masuk ke situs WordPress Anda dan navigasikan ke editor tema di bawah menu tampilan pada menu dasbor utama.
- Buka file functions.php dari tema WordPress yang aktif. Anda juga dapat menggunakan CPanel atau FTP untuk mengakses file functions.php tema aktif. Terletak di jalan ini -
wp-root-installation/wp-content/themes/active-theme/functions.php - Buat kait tindakan yang mengaitkan kait inisialisasi admin –
admin_init
, misalnyaadd_action('init', 'redirect_if_not_logged_in')
. Hook ini memiliki fungsi callback yang akan memiliki logika untuk memeriksa apakah pengguna login di WordPress dan jika tidak login mereka akan diarahkan ke halaman yang kita inginkan. - Buat fungsi panggilan balik seperti yang telah kami sebutkan di atas dan tambahkan kode yang sesuai.
- Simpan perubahan dan buka frontend untuk menguji apakah pengguna yang tidak masuk dialihkan ke halaman yang Anda tambahkan dalam kode.
Mari kita tunjukkan bagaimana Anda dapat menambahkan redirect jika pengguna tidak login di WordPress. Saya akan menggunakan tema WordPress default pada instalasi localhost tetapi ini dapat bekerja untuk semua situs lain, terlepas dari tema dan lingkungan hosting.
Kode untuk menambahkan pengalihan juga dapat mengambil kondisi lain seperti dalam kebanyakan kasus ketika Anda ingin membatasi konten dari pengguna yang tidak masuk log, Anda akan memeriksa dua kondisi:
- Jika pengguna login
- Jika pengguna berada di halaman tempat Anda memiliki konten yang dibatasi
Ketika kondisi ini terpenuhi, Anda harus menggunakan fungsi wp_redirect() untuk mengarahkan pengguna ke halaman pilihan Anda.
Fungsi WP: wp_redirect()
Ini adalah fungsi pengalihan WordPress yang dapat digunakan dalam tema dan plugin untuk mengarahkan pengguna. Ekspresi umum dari fungsi ini adalah sebagai berikut:
wp_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' )
Seperti yang Anda lihat, fungsi tersebut memiliki tiga parameter yaitu sebagai berikut:
Parameter | Keterangan |
$location | Ini adalah URL tempat Anda ingin mengarahkan pengguna. Saat Anda menggunakan fungsi ini saat pengguna tidak masuk, Anda perlu memberikan URL ke halaman yang akan kami alihkan pengguna seperti yang akan Anda lihat dalam contoh kode |
$status | Ini adalah parameter opsional dan Anda mungkin tidak sering melihatnya tetapi ini adalah kode status respons HTTP yang digunakan. Default '302' dan Anda dapat menggunakan 301 untuk pengalihan permanen. Berhati-hatilah saat Anda menggunakan parameter ini dengan opsi pengalihan 301. |
$x_redirect_by | Ini hanyalah aplikasi yang menerapkan pengalihan dan ini jarang akan mengubah nilai default yaitu WordPress |
Tindakan Pengalihan Template Jika Pengguna belum masuk
Untuk mengarahkan ulang pengguna yang tidak login di WordPress Anda sekarang dapat menggunakan fungsi wp_redirect dengan pemeriksaan kondisional apakah pengguna login sebagai berikut:
add_action( 'template_redirect', 'redirect_if_user_not_logged_in' ); fungsi redirect_if_user_not_logged_in() { if ( is_page('slug || ID') && ! is_user_logged_in() ) { //contoh bisa is_page(23) di mana 23 adalah ID halaman wp_redirect('http://your-redirect-page-here'); exit;// jangan pernah melupakan jalan keluar ini karena sangat penting bagi wp_redirect() untuk memiliki jalan keluar / mati } }
Ganti slug dari pemeriksaan bersyarat dengan halaman Anda masing-masing dan juga ganti URL redirect pada kode di atas dan tambahkan ke functions.php untuk mengarahkan pengguna yang tidak masuk ke URL halaman itu.
Admin Init Redirect Action jika Pengguna belum Masuk
Atau, Anda dapat menghubungkan admin_init
alih-alih template_redirect
untuk mengarahkan pengguna jika tidak login di WordPress.
Kode harus sama selain dari titik menambahkan kait tindakan. Kode harus sebagai berikut:
add_action( 'admin_init', 'redirect_if_user_not_logged_in' ); fungsi redirect_if_user_not_logged_in() { if ( !is_user_logged_in() && is_page('slug') ) { wp_redirect('http://your-redirect-page-here'); keluar; } }
Ketika kita menambahkan kode ini ke default WordPress theme functions.php dan menambahkan slug untuk halaman yang ingin kita buat redirection dan URL untuk tujuan, itu bekerja dengan sempurna seperti yang Anda lihat:
Pikiran Akhir
Ketika Anda ingin membuat redirect jika pengguna tidak login di WordPress, Anda harus terlebih dahulu memeriksa apakah pengguna login menggunakan kode yang saya bagikan di posting itu, kemudian gunakan fungsi wp_redirect() untuk menambahkan tujuan baru di mana pengguna harus dialihkan jika mereka mengakses halaman atau posting tertentu.
Kode ini dapat ditambahkan ke file functions.php dari tema Anda atau Anda dapat menggunakannya sebagai bagian dari plugin WordPress kustom Anda. Penting untuk selalu diingat, ketika Anda menggunakan fungsi wp_redirect , Anda tidak boleh lupa menambahkan exit karena fungsi ini tidak keluar secara otomatis.
Sebagai pengembang plugin WordPress, Anda juga dapat mempertimbangkan plugin pengalihan WordPress lain wp_safe_redirect() yang menyediakan cara yang lebih baik untuk pengalihan karena memeriksa apakah host parameter $location diizinkan.
Artikel Serupa
- Cara Menghapus atau Menonaktifkan Ulasan Di WooCommerce
- Cara Memeriksa Apakah Plugin Aktif Di WordPress [ 3 CARA ]
- Cara Membuat Area Widget Kustom di WordPress Langkah demi Langkah
- Cara Menyembunyikan Produk di WooCommerce atau Menyembunyikan Produk berdasarkan Kategori atau Peran
- Cara Mengubah Tautan Kembali ke Toko di Woocommerce
- Cara Membuat Peran Pengguna Kustom WordPress
- Cara Mendapatkan Peran Pengguna Saat Ini di WordPress & Peran Tampilan
- Cara Memperbaiki Kesalahan Jenis Tidak Tertangkap: wp.template bukan fungsi
- Panduan Lengkap untuk Menggunakan WordPress Custom Hooks do_action & apply_filters Dengan Contoh
- Cara Mengarahkan Pengguna setelah Login Berhasil di WordPress tanpa Menggunakan Plugin
- WooCommerce Logout tanpa Konfirmasi : Cara Menghapus “Apakah Anda yakin ingin keluar?”
- Cara Redirect ke Keranjang setelah Login di WooCommerce
- WooCommerce Logout PHP Cuplikan untuk Membuat Tombol Logout
- Cara Membuat Pemberitahuan Admin WooCommerce untuk Plugin – Pengembangan WooCommerce
- Cara Menghapus Telah Ditambahkan ke Keranjang Anda Pesan WooCommerce
- Cara Menambahkan Teks setelah Harga di WooCommerce »Tambahkan Akhiran Harga
- Cara Mengubah Teks Lanjutkan Ke Checkout Di WooCommerce