क्या उपयोगकर्ता को केवल एक पृष्ठ को संपादित करने में सक्षम होने के लिए एक तरीका (प्लगइन?) है।


9

हम सीएमएस की तरह वर्डप्रेस का उपयोग करते हैं और उपयोगकर्ताओं को "मुखपृष्ठ" की अनुमति देना बहुत पसंद करेंगे। आदर्श रूप से उन्हें पूरी साइट को मिलाने से रोका जाएगा।

क्या उपयोगकर्ताओं को एक पृष्ठ पर अधिकार संपादित करने का एक सरल तरीका है?

मैं वर्तमान में अन्य अनुमति-आधारित सामान करने के लिए सदस्य प्लगइन का उपयोग कर रहा हूं , इसलिए यह बहुत अच्छा होगा यदि कोई समाधान या तो बड़े करीने से इसे बढ़ा सकता है, या इसे पूरी तरह से बदल सकता है।

जब कोई नया उपयोगकर्ता बनाया जाता है तो मुखपृष्ठ के स्वचालित निर्माण के लिए बोनस अंक।


अद्यतन: मुझे स्पष्ट करना चाहिए कि इन पृष्ठों को साइट के एक विशिष्ट क्षेत्र (यानी एक ही पृष्ठ के सभी बच्चे) तक सीमित रखने की आवश्यकता है। इसके अलावा, कुछ उपयोगकर्ताओं के बोलने के बाद ऐसा लगता है कि उन्हें अपने होम पेज से उप-पृष्ठ बनाने के लिए उपयोगी लगेगा।

जवाबों:


5

एक आधार वर्डप्रेस इंस्टॉलेशन शायद वह नहीं करेगा जो आप इसे चाहते हैं। आप एक बहु-साइट उदाहरण सेट कर सकते हैं और उपयोगकर्ताओं को अपनी 'उप' साइट रखने की अनुमति दे सकते हैं, या कुछ बडीप्रेस या मिंगल जैसे उपयोगकर्ता प्रोफ़ाइल सुविधा का उपयोग कर सकते हैं।


4

ऐसा करने के लिए क्षमा करें, लेकिन मैं Wordpress मंचों में जवाब भर में ठोकर खाई ।

यह पता चला है कि रोल स्कोपर यह वास्तव में अच्छी तरह से करता है। उस मंच पोस्ट के लेखक ने इसे सबसे अच्छा कहा:

किसी विशेष पृष्ठ को संपादित करने के लिए उपयोगकर्ता को सक्षम करने के लिए, लेकिन कुछ और नहीं:

  1. उन्हें सब्सक्राइबर की वर्डप्रेस भूमिका दें
  2. प्रबंधित करें> पृष्ठ> उनके पृष्ठ को संपादित करें
  3. "उन्नत विकल्प" के तहत "संपादकों" टैब का विस्तार करें
  4. अपने उपयोगकर्ता के नाम के बाईं ओर स्थित गैर-लटके हुए चेकबॉक्स की जांच करें (यदि बाल पेज बनाए जाएंगे, तो ब्रेस्ड चेकबॉक्स {[]} भी देखें, जो सभी वर्तमान या भविष्य के चाइल्ड पेज के लिए भूमिका प्रदान करता है)
  5. पेज सेव करें

एक मैनुअल प्रक्रिया की तरह लगता है। यदि आपके हजारों उपयोगकर्ता हैं तो क्या होगा?
माइकस्किंकेल

यह निश्चित रूप से सच है, लेकिन यह अब तक निकटतम है। मैं अंत तक इनाम को खुला रखूंगा।
टॉम राइट

3

मुझे आपकी जैसी स्थिति का सामना करना पड़ा और मैंने जो किया वह "मुखपृष्ठ" नाम का एक कस्टम पोस्ट प्रकार बनाया गया और प्रति उपयोगकर्ता प्रत्येक पोस्ट प्रकार के निर्माण को सीमित करने के लिए "बैनटेनट पोस्ट क्रिएशन लिमिट्स" प्लगइन भी बनाया। इसे आज़माएं http://wordpress.org/extend/plugins/bainternet-posts-creation-limits/


अच्छा सरल दृष्टिकोण। पोस्ट आधारित होने के साथ थोड़ी समस्या - मैं यह भी सीमित करना चाहता हूं कि पृष्ठ कहां है।
टॉम राइट

सीमा कहाँ है पृष्ठ? समझाने की परवाह?
बैनेटर्न

इसलिए यहाँ समस्या यह है कि मैं सभी उपयोगकर्ताओं के पेज एक ही स्थान पर रखना चाहता हूँ। Ie mysite.com/users/bob Plus, मैं एक ही शैली में उप-पृष्ठ भी देना चाहता हूं: mysite.com/users/bob/mysubpage
टॉम राइट

2

उपयोगकर्ता पहुंच प्रबंधक प्लगइन आपके लिए ऐसा करेगा, अन्य सभी दृष्टिकोण बहुत अधिक जटिल हैं। UAM सिर्फ आसान है, समूह सेटअप करें और अपने उप-पृष्ठों के लिए समूह को तैयार करें।



1

आपके द्वारा "सामान्य" पोस्ट प्रकारों (पोस्ट, पेज) के संपादन को अक्षम कर दिया गया है।

यह उतना कठिन नहीं है जितना कि आप विश्वास कर सकते हैं। कुंजी है उपयोगकर्ता लॉगिन नाम । ऐसा ही टैक्सोनोमी या शर्तों के साथ भी किया जा सकता है।

निम्नलिखित देखें (क्वेरी के लिए एक उदाहरण भी है):

// 1st: Add a post type for that user with it's 
//   user login & according capabilities 
function create_user_home() {
    global $current_user;
    get_currentuserinfo();

    register_post_type(
        'home_of_'.$current_user->user_login,
        array(
            'public' => true,
            'capability_type' => $current_user->user_login,
            'capabilities' => array(
                'publish_posts' => 'publish_'.$current_user->user_login,
                'edit_posts' => 'edit_'.$current_user->user_login,
                'edit_others_posts' => 'edit_'.$current_user->user_login,
                'delete_posts' => 'delete_'.$current_user->user_login,
                'delete_others_posts' => 'delete_others_'.$current_user->user_login,
                'read_private_posts' => 'read_private_'.$current_user->user_login,
                'edit_post' => 'edit_'.$current_user->user_login,
                'delete_post' => 'delete_'.$current_user->user_login,
                'read_post' => 'read_'.$current_user->user_login,
            ),
        )
    );
}
add_action( 'init', 'create_user_home' );

// A query could be done like this:
wp_reset_query(); // to be sure

global $wp_query, $current_user;
get_currentuserinfo();

$query_user_home = new WP_Query( array(
    ,'order'        => 'ASC'
    ,'post_type'    => 'home_of_'.$current_user->user_login
    ,'post_status'  => 'publish'
) );

if ( $query_user_home->have_posts() ) :
    while ( $query_user_home->have_posts() ) : $query_user_home->the_post();
        // check for password
        if ( post_password_required() ) :
            the_content();
        elseif ( !current_user_can('') ) :
            // display some decent message here
            return;
        else :

            // here goes your content

        endif;
    endwhile;

else : // else; no posts
    printf(__( 'Nothing from Mr./Mrs. %1$s so far.', TEXTDOMAIN ), $current_user->user_firstname.' '.$current_user->user_lastname);
endif; // endif; have_posts();

wp_rewind_posts(); // for a sec. query

टैक्सोनॉमीज़ के साथ, यह और भी अधिक समझ में आता है, क्योंकि आप केवल उन पोस्टों को क्वेरी कर सकते हैं, जो इस उपयोगकर्ता टैक्सोनॉमीज़ की शर्तों के साथ टैग की गई हैं, लेकिन इसके लिए उपयोगकर्ताओं को टैक्सोनॉमी शर्तों वाले पोस्ट मेटा बॉक्स की आवश्यकता होगी। शर्त एक ही होगी: उपयोगकर्ता लॉगिन नाम और आप सिर्फ टैक्सोनॉमी जोड़ेंगे:

function create_user_tax() {
    if ( current_user_can("$current_user->user_login") ) :
        global $current_user;
        get_currentuserinfo();

        $singular = $current_user->user_login;
        $plural = $singular.'\'s';

        // labels
        $labels = array (
                 'name'         => $plural
                ,'singular_name'=> $singular
            );

        // args
        $args = array (
             'public'               => true
            ,'show_in_nav_menus'    => true
            ,'show_ui'              => true
            ,'query_var'            => true
            ,'labels'               => $labels
            ,'capabilities' => array(
                'manage_'.$current_user->user_login
            )
        );

        // Register
        register_taxonomy ( 
             $current_user->user_login
            ,array ( 'post', 'page' )
            ,$args
        ); 
        // Add to post type
        // you can even add your current user post type here
        register_taxonomy_for_object_type (
             $current_user->user_login
             ,array ( 'post', 'page', 'home_of_'.$current_user->user_login ) 
        );
    endif;
}
add_action( 'init', 'create_user_tax' );

क्षमता की जांच (current_user_can) की नियुक्ति कहीं और भी हो सकती है। आपकी विशिष्ट आवश्यकताओं पर निर्भर करता है। बस यह सुनिश्चित करने के लिए: ये उदाहरण हैं कि आप अपने मार्ग पर आपका मार्गदर्शन करें। आशा है कि मदद करता है :)


0

मैंने "सदस्यों", एक कस्टम पोस्ट प्रकार और एक विशिष्ट सदस्य को लेखक के अधिकारों का एक मैनुअल असाइनमेंट के साथ कुछ ऐसा ही किया है, क्योंकि यह एक छोटा समूह वेबसाइट है, लेकिन मुझे याद है कि कुछ दोस्त प्रेस समर्थन थ्रेड में पढ़ना संभव है। साइनअप प्रक्रिया में हुक करने के लिए, इसलिए मुझे लगता है कि साइनअप पर स्वचालित रूप से प्रति उपयोगकर्ता एक पृष्ठ / कस्टम पोस्ट प्रकार बनाना संभव होगा और उस विशिष्ट पृष्ठ को होमपेज के रूप में नए सदस्य को असाइन करना होगा। मैंने स्क्रिबू के फ्रंट-एंड एडिटर को भी जोड़ा और उन सदस्यों को बैकएंड ब्लॉक किया, जो एडमिट नहीं हैं। आप शायद साइनअप पर एक रीडायरेक्ट भी जोड़ सकते हैं, इसलिए नए सदस्यों को उनके पृष्ठ पर पुनर्निर्देशित किया जाता है (जो मुझे लगता है कि कुछ डिफ़ॉल्ट सामग्री हो सकती है)।

मैं देखूंगा कि क्या मुझे वह दोस्त मिल सकता है जो धागे का समर्थन करता है।

परिशिष्ट - संपादन पोस्ट फ़ील्ड पर लेखक चयनकर्ता में एक बग है। यह वर्तमान में मानक अनुमति प्रणाली का उपयोग नहीं करता है, जो सदस्यों के समाधान को और अधिक कठिन बना सकता है (हालांकि यह संभवतः काम करेगा यदि लेखक को पृष्ठ-निर्माण पर सौंपा गया है)। Trac में एक पैच है, लेकिन मुझे नहीं लगता कि इसे अभी तक कोर पर लागू किया गया है।


0

यह प्लगइन s2member के साथ संभव है, मुफ्त संस्करण पर्याप्त है। मैंने एक ग्राहक क्षेत्र बनाया है जहाँ प्रत्येक ग्राहक का एक URL होता है यहाँ एक वीडियो ट्यूटोरियल है: http://www.primothemes.com/forums/viewtopic.php?f=4&t=586&start=0&hilit=client+area

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