व्यवस्थापक पृष्ठ पुनर्निर्देशित


18

यदि वे किसी अन्य व्यवस्थापक पृष्ठ का उपयोग करते हैं, तो क्या उपयोगकर्ताओं को किसी व्यवस्थापक पृष्ठ पर पुनर्निर्देशित करना संभव है?

उदाहरण के लिए यदि वे एक उपयोगकर्ता कभी "सभी पृष्ठ" हिट करते हैं /wp-admin/edit.php?post_type=page

उन्हें "नया पृष्ठ जोड़ने" के लिए पुनर्निर्देशित किया जाएगा /wp-admin/post-new.php?post_type=page

जवाबों:


24
/**
 * Redirect admin pages.
 *
 * Redirect specific admin page to another specific admin page.
 *
 * @return void
 * @author Michael Ecklund
 *
 */
function disallowed_admin_pages() {

    global $pagenow;

    # Check current admin page.
    if ( $pagenow == 'edit.php' && isset( $_GET['post_type'] ) && $_GET['post_type'] == 'page' ) {

        wp_redirect( admin_url( '/post-new.php?post_type=page' ) );
        exit;

    }

}

हुक पर उपरोक्त फ़ंक्शन को आग दें admin_init।

add_action( 'admin_init', 'disallowed_admin_pages' );

वैकल्पिक वाक्यविन्यास:

/**
 * Redirect admin pages.
 *
 * Redirect specific admin page to another specific admin page.
 *
 * @return void
 * @author Michael Ecklund
 *
 */
add_action( 'admin_init', function () {

    global $pagenow;

    # Check current admin page.
    if ( $pagenow == 'edit.php' && isset( $_GET['post_type'] ) && $_GET['post_type'] == 'page' ) {

        wp_redirect( admin_url( '/post-new.php?post_type=page' ) );
        exit;

    }

} );

4

माइकल का समाधान एक वर्ग के अंदर उपयोग के लिए अभिप्रेत है, इसलिए किसी के लिए भी एक स्टैंडअलोन फ़ंक्शन चाहता है जो सीधे फ़ंक्शन में काम करेगा। ।

function admin_redirects() {
    global $pagenow;

    /* Redirect Customizer to Theme options */
    if($pagenow == 'customize.php'){
        wp_redirect(admin_url('/admin.php?page=theme_options', 'http'), 301);
        exit;
    }

    /* OP's redirect from /wp-admin/edit.php?post_type=page */
    if($pagenow == 'edit.php' && isset($_GET['post_type']) && $_GET['post_type'] == 'page'){
        wp_redirect(admin_url('/post-new.php?post_type=page', 'http'), 301);
        exit;
    }
}

add_action('admin_init', 'admin_redirects');

0

हाँ यह एक जोड़कर संभव है कार्रवाई करने के लिएadmin_init आप अगर यह मेल खाता देखने के लिए अनुरोध URI जांच कर सकता है उस बिंदु पर, /wp-admin/edit.php?post_type=pageऔर अगर यह ऐड गईं पोस्ट पृष्ठ पर एक रीडायरेक्ट जारी करता है: /wp-admin/post-new.php?post_type=page।

इसके अलावा प्लगइन एपीआई और वर्डप्रेस कोडेक्स पर एक्शन संदर्भ पृष्ठ कार्यों के बारे में अधिक विस्तार से और वे कैसे काम करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.