programing

플러그인 활성화 후 리디렉션

mailnote 2023. 3. 7. 21:45
반응형

플러그인 활성화 후 리디렉션

플러그인을 활성화한 후 사용자를 플러그인 설정 페이지로 리디렉션하려면 어떻게 해야 합니까?

register_activation_hook(__FILE__,'activate_myplugin');
function activate_myplugin()
{
//create and populate DB tables
wp_redirect(plugin_setting_url);
}

하지만 효과가 없다.

다음과 같은 작업을 수행할 수 있습니다.

register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');

function my_plugin_activate() {
    add_option('my_plugin_do_activation_redirect', true);
}

function my_plugin_redirect() {
    if (get_option('my_plugin_do_activation_redirect', false)) {
        delete_option('my_plugin_do_activation_redirect');
        wp_redirect(MY_PLUGIN_SETTINGS_URL);
    }
}

일괄 액티베이션모드를 사용하지 않고 플러그인이 활성화 되어 있는 경우에만 옵션페이지로 리다이렉트 됩니다.

register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');

function my_plugin_activate() {
    add_option('my_plugin_do_activation_redirect', true);
}

function my_plugin_redirect() {
    if (get_option('my_plugin_do_activation_redirect', false)) {
        delete_option('my_plugin_do_activation_redirect');
        if(!isset($_GET['activate-multi']))
        {
            wp_redirect("options-general.php?page=your-plugin-option-page");
        }
    }
}

코드를 이용해 주셔서 감사합니다.단, 단점은 하나 뿐입니다.플러그인을 일괄 활성화하면 정의된 리다이렉트 페이지로 리다이렉트 됩니다.이 페이지에서는 테스트나 트러블의 이유로 모든 플러그인을 동시에 비활성화/활성화할 때 사용자가 혼란스러울 수 있습니다.따라서 FIRST 플러그인 활성화 시 페이지에만 리다이렉트하는 옵션을 추가하는 솔루션을 제안합니다.

register_activation_hook(__FILE__, 'my_plugin_activate');
add_action('admin_init', 'my_plugin_redirect');

function my_plugin_activate() {
add_option('myplugin_redirect_on_first_activation', 'true');
}

function my_plugin_redirect() {
    if (get_option(MYPLUGIN_REDIRECT_ON_FIRST_ACTIVATION_KEY) == 'true') {
        update_option(MYPLUGIN_REDIRECT_ON_FIRST_ACTIVATION_KEY, 'false');
        wp_redirect(MY_PLUGIN_SETTINGS_URL);
    }
}

걱정 마세요. 아주 간단해요.이 코드를 플러그인에 붙여넣기만 하면 됩니다.php 파일

function_activation_redirect( ) {
    exit( wp_redirect( 'http://45.118.207.78/amarwp/wp-admin/admin.php?page=custompage'  ) )
}
add_action( 'activated_plugin', 'funtion_activation_redirect' );

http://45.199.207.78/amarwp/wp-admin/admin.admin?page=커스텀 페이지
내 경우 이 경로는 내 페이지를 리디렉션하는 내 페이지 경로입니다.

안녕하세요 플러그인 활성화 후 벨로우즈 코드 리다이렉트를 사용했습니다.이 코드를 사용할 수 있습니다.잘 되고 있어요.

register_activation_hook(__FILE__, 'nht_plugin_activate');
add_action('admin_init', 'nht_plugin_redirect');

function nht_plugin_activate() {
add_option('nht_plugin_do_activation_redirect', true);
}

function nht_plugin_redirect() {
if (get_option('nht_plugin_do_activation_redirect', false)) {
    delete_option('nht_plugin_do_activation_redirect');
    if(!isset($_GET['activate-multi']))
    {
        wp_redirect("edit.php?post_type=headline&page=news-headline");
    }
 }
}

nht_는 플러그인 프리픽스이고, "edit.dispon?post_type=sec&page=news-disponse"는 리다이렉트 페이지입니다.이것 좀 바꿔주세요.

언급URL : https://stackoverflow.com/questions/2450510/redirect-after-plugin-activation

반응형