Belki wp_redirect()
de aktivasyon kancasındaki fonksiyonu kullanıyor olabilirsiniz . Aşağıdaki örnekte myplugin_settings
bir yer tutucu bulunmaktadır. Normalde bu sadece $hook_suffix
geri dönüş $hook_suffix = add_menu_page( /* etc. */ );
ve benzer fonksiyonlar.
BU KOD ÇALIŞMIYOR, AŞAĞIDAKİ OKUYUN
register_activation_hook(__FILE__, 'cyb_activation');
function cyb_activation()
{
// Don't forget to exit() because wp_redirect doesn't exit automatically
exit( wp_redirect( admin_url( 'options-general.php?page=myplugin_settings' ) ) );
}
Referanslar:
- Kayıt etkinleştirme kancası
- ADMIN_URL ()
DÜZENLE
Etkinleştirme kancasının içindeki yönlendirme, eklenti etkin bir şekilde etkinleştirilmeden önce, belki de etkinleştirme yürütülmeden önce exit () çağrısından dolayı gerçekleştirilmiş gibi görünmektedir. Bu kod activated_plugin eylem kanca kullanarak iyi çalışıyor gibi görünüyor :
function cyb_activation_redirect( $plugin ) {
if( $plugin == plugin_basename( __FILE__ ) ) {
exit( wp_redirect( admin_url( 'options-general.php' ) ) );
}
}
add_action( 'activated_plugin', 'cyb_activation_redirect' );
Bu kodu ana eklenti dosyasının dışında kullanırsanız, ana eklenti dosyasının __FILE__
yolunu yeniden doldurmanız gerekir .
DÜŞÜNCE
Eklentiniz etkinleştirildikten sonra kullanıcıyı yeniden yönlendirmek çok iyi bir yaklaşım değildir. Wordpress'te eklentileri toplu olarak etkinleştirebilirsiniz. Bu durumda bir yönlendirme gerçekleştirirseniz ne olur? Bazı eklentilerin aktivasyonunu kıracaksınız, belki de eklentiniz son etkinleştirildiyse değil, ancak kesinlikle kullanıcı deneyimini bozuyorsunuz.