प्रोफ़ाइल से व्यक्तिगत विकल्प अनुभाग निकालें


11

मैं आपकी प्रोफ़ाइल में व्यक्तिगत विकल्प ( wp-admin/profile.php) व्यवस्थापक पृष्ठ को छिपाना / निकालना चाहता हूं ।

मुझे पता है कि इसके लिए समाधान मौजूद हैं, लेकिन मैं इस अनुभाग को छिपाने के लिए jQuery का उपयोग करता हूं। यह काम करता है, लेकिन जब कोई उपयोगकर्ता जावास्क्रिप्ट को अपने ब्राउज़र में अक्षम करता है, तो यह फिर से दिखाई देगा। इसलिए यह व्यक्तिगत विकल्पों को हटाने का एक उचित तरीका नहीं है।

क्या पृष्ठ के HTML स्रोत से व्यक्तिगत विकल्प अनुभाग को हटाने का कोई तरीका है? इसका मतलब कोई jQuery या CSS हैक्स या कोर फ़ाइल संशोधन नहीं है।


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

सावधान रहें - उत्तर देखें: wordpress.stackexchange.com/a/162277/33667
T.Todua

जवाबों:


24

यह काम कर जाना चाहिए

// removes the `profile.php` admin color scheme options
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

if ( ! function_exists( 'cor_remove_personal_options' ) ) {
  /**
   * Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
   */
  function cor_remove_personal_options( $subject ) {
    $subject = preg_replace( '#<h3>Personal Options</h3>.+?/table>#s', '', $subject, 1 );
    return $subject;
  }

  function cor_profile_subject_start() {
    ob_start( 'cor_remove_personal_options' );
  }

  function cor_profile_subject_end() {
    ob_end_flush();
  }
}
add_action( 'admin_head-profile.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-profile.php', 'cor_profile_subject_end' );

इसके अलावा, हल किए गए अपने पिछले प्रश्नों को चिह्नित करना न भूलें :)


यह बहुत बढ़िया है, लेकिन मैं इसे WP 3.4 के लिए कैसे काम करूँ? केवल रंग योजना पिकर निकाल दिया जाता है। शायद क्योंकि मैं फ़ाइलों admin_head-profile.phpऔर admin_footer-profile.phpकोर को खोजने के लिए प्रतीत नहीं कर सकते । विचार? बहुत धन्यवाद।
एना बान

क्या आप सुनिश्चित हैं कि यह काम नहीं करता है? मैं बस एक नई स्थापना पर इस का इस्तेमाल किया और यह ठीक काम किया। ध्यान दें कि यदि आप किसी अन्य भाषा का उपयोग कर रहे हैं तो आपको उपरोक्त कोड को संपादित करना होगा। इसके अलावा, यहाँ के बारे में कुछ जानकारी है admin_head-profile.phpऔर admin_footer-profile.php: codex.wordpress.org/Plugin_API/…

@CorvanNoorloos इसके लिए धन्यवाद, क्या टूलबार दिखाने के लिए उन्हें अनुमति देने के विकल्प को छोड़ने का कोई तरीका है या नहीं?
ग्रीनहॉ

6

बस यह पता लगाने की कोशिश कर रहा था और इस जवाब में आया था। कोर वैन द्वारा उपरोक्त कोड अब काम नहीं करता है, लेकिन add_action के एक मामूली बदलाव के साथ, यह कर सकता है।

बस आपको अंतिम दो पंक्तियों को बदलना होगा:

add_action( 'admin_head-profile.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-profile.php', 'cor_profile_subject_end' );

सेवा

add_action( 'admin_head-user-edit.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-user-edit.php', 'cor_profile_subject_end' );

तो, अंतिम कोड कुछ इस तरह दिखाई देगा:

if ( ! function_exists( 'cor_remove_personal_options' ) ) {
  /**
   * Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
   */
  function cor_remove_personal_options( $subject ) {
    $subject = preg_replace( '#<h3>Personal Options</h3>.+?/table>#s', '', $subject, 1 );
    return $subject;
  }

  function cor_profile_subject_start() {
    ob_start( 'cor_remove_personal_options' );
  }

  function cor_profile_subject_end() {
    ob_end_flush();
  }
}
add_action( 'admin_head-user-edit.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-user-edit.php', 'cor_profile_subject_end' );

अच्छा फॉलो अप, मूल कोड में इस बदलाव ने पूरी तरह से काम किया।
डैनियल

क्या आप बता सकते हैं कि मैं और <h3> तत्व कैसे निकाल सकता हूं? उपरोक्त कोड की मुझे क्या आवश्यकता है?
फाबियान

5

स्वीकृत उत्तर 4.8 के साथ काम नहीं कर रहा है

यहाँ अप टू डेट और सरलीकृत कोड आता है जो किसी भी संस्करण के साथ काम करना चाहिए:

        // removes admin color scheme options

        remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

        //Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.

        add_action( 'admin_head', function () {

            ob_start( function( $subject ) {

                $subject = preg_replace( '#<h[0-9]>'.__("Personal Options").'</h[0-9]>.+?/table>#s', '', $subject, 1 );
                return $subject;
            });
        });

        add_action( 'admin_footer', function(){

            ob_end_flush();
        });     

1
+1 लेकिन एक ही समस्या के रूप में स्वीकार किए जाते हैं उत्तर के साथ, गैर-अंग्रेजी भाषा के साथ काम करने के लिए स्ट्रिंग को स्थानीयकृत किया जाना चाहिए।
मार्क कप्लून

@MarkKaplun सही है! मैंने बदलाव किया।
रफाशी

3

@Per की टिप्पणी के लिए धन्यवाद मुझे यह 4.5.2 के लिए काम कर रहा है

    // removes admin color scheme options
    remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

    if ( ! function_exists( 'cor_remove_personal_options' ) ) {
        /**
        * Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
        */
        function cor_remove_personal_options( $subject ) {
            $subject = preg_replace( '#<h2>Personal Options</h2>.+?/table>#s', '', $subject, 1 );
            return $subject;
        }

        function cor_profile_subject_start() {
            ob_start( 'cor_remove_personal_options' );
        }

        function cor_profile_subject_end() {
            ob_end_flush();
        }
    }
    add_action( 'admin_head', 'cor_profile_subject_start' );
    add_action( 'admin_footer', 'cor_profile_subject_end' );`

2

3.9 के लिए अद्यतन, निम्नलिखित काम करता है:

add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );

1

यहाँ मेरा CSS समाधान है, Wordpress 4.9.8 में परीक्षण किया गया है

remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
add_action( 'admin_head', function(){
    ob_start(); ?>
    <style>
        #your-profile > h2,
        .user-rich-editing-wrap,
        .user-syntax-highlighting-wrap,
        .user-comment-shortcuts-wrap,
        .user-admin-bar-front-wrap {
            display: none;
        }
    </style>
    <?php ob_end_flush();
});

0

मैं केवल यह स्पष्ट करना चाहता था कि हार्डकोड के कारण कोड वर्डप्रेस के स्थानीयकृत संस्करणों के लिए काम नहीं करेगा Personal Options। मैं यहां कोई आसान उपाय नहीं सोच सकता, लेकिन सुझावों का स्वागत है।

मैंने इसे एक टिप्पणी के रूप में जोड़ा होगा, लेकिन मुझे टिप्पणी जोड़ने के लिए पर्याप्त प्रतिष्ठा नहीं मिली है।

मैं वर्डप्रेस संस्करण ३.९ के लिए अपडेट किए गए पूरे कोड को फिर से पेस्ट करने के लिए भी यह अवसर लेता हूं।

यह रहा:

// removes the `profile.php` admin color scheme options
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

if ( ! function_exists( 'cor_remove_personal_options' ) ) {
  /**
   * Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
   */
  function cor_remove_personal_options( $subject ) {
    $subject = preg_replace( '#<h3>Personal Options</h3>.+?/table>#s', '', $subject, 1 );
    return $subject;
  }

  function cor_profile_subject_start() {
    ob_start( 'cor_remove_personal_options' );
  }

  function cor_profile_subject_end() {
    ob_end_flush();
  }
}
add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );

फिर, यदि आप पहले से जानते हैं कि आपकी WP स्थापना की भाषा क्या होगी, तो Personal Optionsस्ट्रिंग को अपनी भाषा के स्थानीय संस्करण में बदल दें, उदाहरण के लिए इतालवी में आप इसे बदल देंगे Impostazioni personali


0

का उपयोग करके

$subject = preg_replace( '#<h3>'.__("Personal Options").'</h3>.+?/table>#s', '', $subject, 1 );

cor_remove_personal_options फ़ंक्शन में, यह स्थानीयकृत भी है।


0

Ive को यह समाधान मिला: https://premium.wpmudev.org/blog/how-to-simplify-wordpress-profiles-by-removing-personal-options/?ptm=c&cmm_expid=3606929-108.O6f5ypXuTg-XPCV9sY1y1 .2

function hide_personal_options(){ 
    echo "\n" . '<script type="text/javascript">jQuery(document).ready(function($) { 
    $(\'form#your-profile > h3:first\').hide(); $(\'form#your-profile > 
    table:first\').hide(); $(\'form#your-profile\').show(); });</script>' . "\n"; 
} 
add_action('admin_head','hide_personal_options');

यदि आप अधिक विशिष्ट होना चाहते हैं या अधिक हटाना चाहते हैं, तो आपको यहाँ पर एक नज़र रखना चाहिए: https://isabelcastillo.com/hide-personal-options-wordpress-admin-profile

आप फ़ंक्शन में केवल उन पंक्तियों को जोड़ सकते हैं।


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