2010-03-15 9 views
8

के बाद मैं अपने प्लगइन सेटिंग पृष्ठ पर उपयोगकर्ताओं अनुप्रेषित कि वे मेरी प्लगइन सक्रिय करने के बाद, मैंपुनर्निर्देशन प्लगइन सक्रियण

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

कोशिश की, लेकिन यह काम नहीं करता।

+0

मैंने Google पर खोज की, कुछ भी नहीं मिला ... एक ही प्रश्न कुछ अन्य मंचों पर है, सभी अनुत्तरित हैं –

उत्तर

13

आप इस तरह कुछ करने के लिए सक्षम होना चाहिए:

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); 
    } 
} 
+2

@ रिचर्ड थेंक्स ... बिल्कुल वही जो मैं चाहता था ..... मुझे इस समुदाय से प्यार है .. –

3

अपने कोड के लिए धन्यवाद - महान यह है, लेकिन केवल एक नकारात्मक पक्ष यह है: प्लगइन्स के थोक सक्रियण पर, आप भी अपने परिभाषित करने के लिए रीडायरेक्ट पृष्ठ को रीडायरेक्ट करें - जो परीक्षण/डीबग कारण के लिए एक बार में सभी प्लगइन को निष्क्रिय/सक्रिय करते समय उपयोगकर्ता को भ्रमित कर सकता है। इसलिए मैं समाधान प्रस्तावित हैं, एक विकल्प जोड़ने के लिए केवल सबसे पहले प्लगइन सक्रियण पर अपने पृष्ठ पर रीडायरेक्ट करने के लिए: केवल यदि उस प्लग इन केवल थोक सक्रियण मोड का उपयोग कर के बिना सक्रिय है

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); 
    } 
} 
+0

वैध बिंदु, लेकिन थोक सक्रियताओं का पता लगाने के लिए बेहतर होगा – Pat

8

यह विकल्प पृष्ठ पर रीडायरेक्ट करेगा।

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"); 
     } 
    } 
} 
0

हैलो मैंने प्लगइन सक्रियण के बाद बेलो कोड रीडायरेक्ट का उपयोग किया है। आप इस कोड का उपयोग कर सकते हैं। यह अच्छी तरह से काम कर रहा है।

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.php? Post_type = शीर्षक & पेज = खबर-शीर्षक" अनुप्रेषित पृष्ठ है। कृपया इसे बदलें।