Może za pomocą wp_redirect()
funkcji w haku aktywacyjnym. W poniższym przykładzie myplugin_settings
jest symbolem zastępczym. Zwykle jest to po prostu$hook_suffix
powrót z $hook_suffix = add_menu_page( /* etc. */ );
podobnych funkcji.
TEN KOD NIE DZIAŁA, CZYTAJ PONIŻEJ
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' ) ) );
}
Bibliografia:
- Zarejestruj hak aktywacyjny
- admin_url ()
EDYTOWAĆ
Przekierowanie wewnątrz haka aktywacyjnego wydaje się być wykonane przed skuteczną aktywacją wtyczki, być może z powodu wywołania exit () przed wykonaniem aktywacji. Wygląda na to, że ten kod działa dobrze przy użyciu funkcji hoook z aktywowanej_pluginy :
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' );
Jeśli użyjesz tego kodu poza głównym plikiem wtyczki, będziesz musiał ponownie zainstalować __FILE__
ze ścieżką głównego pliku wtyczki.
MYŚL
Przekierowanie użytkownika po aktywacji wtyczki nie jest zbyt dobrym podejściem. W Wordpress możesz zbiorczo aktywować wtyczki. Co się stanie, jeśli przekierujesz w tej sytuacji? Zepsujesz aktywację niektórych wtyczek, być może nie, jeśli wtyczka jest aktywowana jako ostatnia, ale zdecydowanie psujesz wrażenia użytkownika.
exit;
połączenie skraca aktywację.'options-general.php?page=myplugin_settings'
inny i prawidłowy. W każdym razieexit
hak aktywacyjny jest wykonywany przed skuteczną aktywacją wtyczki, więc nie działa. Zredagowałem odpowiedź z nowym działającym kodem.Powinieneś być w stanie to zrobić w następujący sposób:
AKTUALIZACJA
Nawet jeśli jest to komentarz wewnętrzny, pamiętaj:
Konkretny przykład
AKTUALIZACJA 10/29/2013
Nie wspomniano o tym, ale proszę zauważyć, że moje rozwiązanie oferuje możliwość sprawdzenia, czy tak jest, czy nie przekierowania do strony ustawień wtyczek. Sprawdź
my_plugin_activate
i jeśli warunek wmy_plugin_redirect
.Mam nadzieję, że to pomoże!
źródło
exit()
pobliżuwp_redirect()
?Witam, użyłem przekierowania kodu mieszka po aktywacji wtyczki. Możesz użyć tego kodu. Ładnie działa.
źródło