아마도 wp_redirect()
활성화 훅 의 기능을 사용하고있을 것입니다. 다음 예 myplugin_settings
는 자리 표시 자입니다. 일반적으로 이것은 단순히 비슷한 기능 $hook_suffix
에서 돌아 오는 $hook_suffix = add_menu_page( /* etc. */ );
것입니다.
이 코드는 작동하지 않습니다. 아래를 읽으십시오
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' ) ) );
}
참고 문헌 :
- 활성화 훅 등록
- admin_url ()
편집하다
활성화 훅 내부의 리디렉션은 플러그인이 효과적으로 활성화되기 전에 수행되는 것으로 보입니다. 활성화가 실행되기 전에 exit () 호출 때문일 수 있습니다. 이 코드는 사용하여 잘 작동하는 것 같다 activated_plugin 액션 hoook :
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' );
기본 플러그인 파일 외부에서이 코드를 사용하는 경우 기본 플러그인 파일의 __FILE__
경로 를 다시 채워야 합니다.
생각
플러그인이 활성화 된 후 사용자를 리디렉션하는 것은 좋은 방법이 아닙니다. Wordpress에서는 플러그인을 일괄 적으로 활성화 할 수 있습니다. 이 상황에서 리디렉션을 수행하면 어떻게됩니까? 플러그인이 마지막으로 활성화 된 경우가 아니라면 일부 플러그인의 활성화가 중단 될 수 있지만 사용자 환경이 손상 될 수 있습니다.