it-swarm.asia

هل هناك طريقة (البرنامج المساعد؟) لتقييد المستخدم ليتمكن من تحرير صفحة واحدة فقط؟

نحن نستخدم وورد مثل CMS ونود إلى حد كبير السماح للمستخدمين بالحصول على "صفحة رئيسية". من الناحية المثالية ، سيتم منعهم من التخلص من الموقع بأكمله.

هل هناك طريقة بسيطة لتقييد المستخدمين حقوق التحرير على صفحة واحدة؟

أنا أستخدم حاليًا المكون الإضافي للأعضاء للقيام بأشياء أخرى قائمة على إذن ، لذلك سيكون من الرائع أن يقوم الحل إما بزيادة هذا الترتيب أو استبداله بالكامل.

نقاط المكافأة لإنشاء تلقائي للصفحة الرئيسية عند إنشاء مستخدم جديد.


التحديثات: يجب أن أوضح أن هذه الصفحات يجب أن تقتصر على منطقة معينة من الموقع (أي جميع الأطفال في نفس الصفحة). أيضًا ، بعد التحدث إلى بعض المستخدمين ، يبدو أنهم يجدون أنه من المفيد إنشاء صفحات فرعية متفرعة من صفحتهم الرئيسية.

9
Tom Wright

آسف للقيام بذلك ، لكنني تعثرت عبر الإجابة في منتديات وورد .

اتضح أن دور Scoper هل هذا جيد حقًا. قال مؤلف منشور المنتدى هذا أفضل:

لتمكين المستخدم من تحرير صفحة معينة ، ولكن ليس لأي شيء آخر:

  1. منحهم دور وورد للمشترك
  2. إدارة> الصفحات> تحرير صفحتهم
  3. وسّع علامة التبويب "المحررين" ضمن "الخيارات المتقدمة"
  4. حدد مربع الاختيار غير المدعوم على يسار اسم المستخدم الخاص بك (إذا تم إنشاء صفحات فرعية ، فحدد أيضًا مربع الاختيار المدعوم {[]} ، الذي يعين دور جميع الصفحات الفرعية الحالية أو المستقبلية)
  5. احفظ الصفحة
4
Tom Wright

قد لا يقوم التثبيت الأساسي لـ WordPress بما تريده. يمكنك إعداد مثيل متعدد المواقع والسماح للمستخدمين بأن يكون لديهم موقع "فرعي" خاص بهم ، أو استخدام شيء مثل BuddyPress أو Mingle يحتوي على ميزة ملف تعريف المستخدم.

5
Norcross

واجهت نفس الموقف مثلك وما فعلته هو إنشاء نوع منشور مخصص باسم "الصفحة الرئيسية" ، وكذلك إنشاء مكون إضافي "حدود إنشاء المشاركات Bainternet" للحد من إنشاء كل نوع منشور لكل مستخدم. جربه http://wordpress.org/extend/plugins/bainternet-posts-creation-limits/

3
Bainternet

سيقوم المكون الإضافي User Access Manager بالقيام بذلك نيابة عنك ، فكل الأساليب الأخرى معقدة للغاية. UAM سهل للغاية ، قم بإعداد المجموعات وتعيين المجموعة إلى صفحاتك الفرعية ، جاهزة.

2
BUGHUNTER

يعني التصعيد أنك قمت بتعطيل تحرير أنواع النشر "العادية" (النشر ، الصفحة).

انها لا صعبة كما قد تصدق. مفتاح هو اسم تسجيل دخول المستخدم . ويمكن أن يتم الشيء نفسه مع التصنيفات أو حتى الشروط.

راجع ما يلي (هناك مثال للاستعلام أيضًا):

// 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) في مكان آخر أيضًا. يعتمد كل شيء على الاحتياجات المحددة الخاصة بك. فقط للتأكد من ذلك: هذه أمثلة لإرشادك في طريقك إلى حل. آمل أن يساعد :)

1
kaiser

سأستخدم مدير القدرة أو راجع الأدوار والقدرات في المخطوطة من أجل القيام بذلك.

1
Ben West

هذا ممكن مع البرنامج المساعد s2member ، النسخة المجانية كافية. لقد أنشأت منطقة عميل بها عنوان URL لكل عميل ، حيث يوجد فيديو تعليمي هنا: http://www.primothemes.com/forums/viewtopic.php؟f=4&t=586&start=0&hilit=client+area

0
paul

لقد فعلت شيئًا مشابهًا مع "الأعضاء" ، ونوع المنشور المخصص ، والتخصيص اليدوي لحقوق المؤلف لعضو معين ، نظرًا لأنه موقع ويب لمجموعة صغيرة ، لكنني أتذكر أن القراءة في بعض سلاسل رسائل دعم صحافة الأصدقاء ممكنة. للتثبيت في عملية الاشتراك ، لذلك أعتقد أنه سيكون من الممكن تلقائيًا إنشاء نوع/صفحة منشورة مخصصة لكل مستخدم عند الاشتراك وتعيين تلك الصفحة المحددة للعضو الذي تم إنشاؤه حديثًا كصفحة رئيسية. لقد أضفت أيضًا محرر Scribu للجهة الأمامية وحظرت الواجهة الخلفية للأعضاء الذين ليسوا مدراء. ربما يمكنك أيضًا إضافة إعادة توجيه عند التسجيل بحيث تتم إعادة توجيه الأعضاء الجدد إلى صفحتهم (والتي ، على ما أظن ، قد تحتوي على بعض المحتوى الافتراضي).

سأرى ما إذا كان يمكنني العثور على خيط دعم buddypress هذا.

إضافة - يوجد خطأ في محدد المؤلف في حقل تحرير النشر. لا يستخدم حاليًا نظام الأذونات القياسي ، مما قد يجعل حل الأعضاء أكثر صعوبة (على الرغم من أنه قد يعمل إذا تم تعيين المؤلف في إنشاء الصفحة). هناك تصحيح في trac ، لكنني لا أعتقد أنه تم تطبيقه حتى الآن.

0
user2789