Saya sedang mengembangkan plugin gratis untuk menghubungkan sistem pendukung eksternal ke WordPress untuk dapat mengotentikasi pengguna di WordPress.
Untuk ini, saat ini dari sistem eksternal, pengguna dikirim ke halaman login WordPress dengan ini di akhir
?action=freshdesk-remote-login
Plugin saya kemudian memeriksa apakah pengguna login ke WP, jika tidak menunjukkan form login dan setelah login berhasil, mengarahkan mereka kembali ke situs pihak ke-3.
Pengalihan dilakukan menggunakan sesuatu seperti ini: wp_redirect( $sso_url );
Sekarang ini berfungsi dengan baik, tetapi saya berencana untuk menawarkan kode pendek yang dapat ditambahkan ke halaman yang dipilih pengguna. Sekarang setelah pengguna masuk ke halaman ini, jika mereka login, mereka harus diteruskan ke situs pihak ke-3, jika tidak, maka ke halaman login.
Apakah ada cara Anda bisa menyarankan wp_redirect untuk bekerja di dalam kode pendek?
wp_redirect( $sso_url );
dan itu hanya berhasil.wp_redirect
tidak bekerja dalam kode pendek dalam kondisi normal. Aku baru saja memeriksa. Jika itu berfungsi untuk Anda, tema atau plugin Anda melakukan sesuatu seperti yang saya sarankan untuk membuatnya berfungsi.wp_redirect()
melakukan redirect melalui header HTTP sehingga secara teknis itu tidak akan (atau setidaknya tidak seharusnya) bekerja setelah output halaman dimulai. Jadi Anda tidak bisa hanya menggunakan fungsi ini dalam kode pendek.Namun itu tidak berarti Anda tidak dapat menggunakan kode pendek untuk mengontrolnya. Anda dapat memeriksa kondisi pemasangan (jika halaman dan halaman berisi kode pendek) sebelum output dimulai (di sekitar
template_redirect
hook) dan lakukan redirect.Pilihan lain adalah untuk menghasilkan JavaScript bersyarat yang akan melakukan pengalihan setelah halaman dimuat.
sumber
wp_redirect()
kode itu?