কেবলমাত্র একটি পৃষ্ঠা সম্পাদনা করতে সক্ষম হয়ে কোনও ব্যবহারকারীকে সীমাবদ্ধ করার জন্য কি কোনও উপায় (প্লাগইন?) রয়েছে?


9

আমরা ওয়ার্ডপ্রেসটি একটি সিএমএসের মতো ব্যবহার করি এবং ব্যবহারকারীদের একটি "হোমপৃষ্ঠা" রাখার মঞ্জুরি দিতে চাই। আদর্শভাবে তারা পুরো সাইটটিকে উপহাস করা থেকে বিরত রাখতে চাইবে।

কোনও একক পৃষ্ঠায় ব্যবহারকারীদের সম্পাদনার অধিকার সীমাবদ্ধ করার সহজ উপায় কি আছে?

আমি বর্তমানে অন্যান্য অনুমতি-ভিত্তিক স্টাফগুলি করতে সদস্য প্লাগইনটি ব্যবহার করছি , সুতরাং যদি কোনও সমাধান খুব সুন্দরভাবে এটি বাড়িয়ে তুলতে পারে বা পুরোপুরি প্রতিস্থাপন করতে পারে তবে দুর্দান্ত হবে।

কোনও নতুন ব্যবহারকারী তৈরি করা হলে হোমপেজটি স্বয়ংক্রিয়ভাবে তৈরি করার জন্য বোনাস পয়েন্ট।


আপডেটগুলি: আমার স্পষ্ট করে বলা উচিত যে এই পৃষ্ঠাগুলি সাইটের নির্দিষ্ট ক্ষেত্রের মধ্যে সীমাবদ্ধ করা দরকার (অর্থাত্ একই পৃষ্ঠার সমস্ত শিশু)। এছাড়াও, কিছু ব্যবহারকারীর সাথে কথা বলার পরেও মনে হয় যে তারা তাদের হোম পৃষ্ঠা থেকে উপ-পৃষ্ঠাগুলি শাখা তৈরি করা কার্যকর মনে করবে।

উত্তর:


5

একটি বেস ওয়ার্ডপ্রেস ইনস্টলেশন সম্ভবত আপনি যা চান তা করবে না। আপনি একটি বহু-সাইট উদাহরণ স্থাপন করতে এবং ব্যবহারকারীদের তাদের নিজস্ব 'সাব' সাইট রাখতে বা বুডিপ্রেস বা মিংলের মতো এমন কিছু ব্যবহার করতে পারেন যাতে ব্যবহারকারী প্রোফাইল বৈশিষ্ট্য রয়েছে।


4

এটি করার জন্য দুঃখিত, তবে আমি ওয়ার্ডপ্রেস ফোরামে উত্তরটি নিয়ে হোঁচট খেয়েছি

দেখা যাচ্ছে যে রোল স্কোপার এটি সত্যিই ভাল করে। এই ফোরাম পোস্টটির লেখক এটি সেরা বলেছেন:

কোনও ব্যবহারকারীকে একটি নির্দিষ্ট পৃষ্ঠা সম্পাদনা করতে সক্ষম করতে, তবে অন্য কিছু নয়:

  1. তাদের গ্রাহকের একটি ওয়ার্ডপ্রেস ভূমিকা দিন
  2. পরিচালনা> পৃষ্ঠাগুলি> তাদের পৃষ্ঠা সম্পাদনা করুন
  3. "উন্নত বিকল্পসমূহ" এর অধীনে "সম্পাদকগণ" ট্যাবটি প্রসারিত করুন
  4. আপনার ব্যবহারকারীর নামের বামে নন-ব্রেসড চেকবাক্সটি পরীক্ষা করুন (যদি চাইল্ড পৃষ্ঠাগুলি তৈরি করা হয় তবে ব্রেসড চেকবক্সও চেক করুন {[]}, যা সমস্ত বর্তমান বা ভবিষ্যতের শিশু পৃষ্ঠাগুলির জন্য ভূমিকা নির্ধারণ করে)
  5. পৃষ্ঠাটি সংরক্ষণ করুন

একটি ম্যানুয়াল প্রক্রিয়া মত শোনাচ্ছে। আপনার যদি হাজার হাজার ব্যবহারকারী থাকে?
মাইকস্কিঙ্কেল

এটি অবশ্যই সত্য, তবে এটি এখন পর্যন্ত নিকটতম। আমি শেষ অবধি অবধি খোলা রাখব।
টম রাইট

3

আমি এবং আপনি যা করেছি তার একই পরিস্থিতির মুখোমুখি হ'ল "হোমপেজ" নামে একটি কাস্টম পোস্ট টাইপ তৈরি করেছি এবং প্রতিটি ব্যবহারকারী প্রকারের প্রতিটি পোস্টের সীমাবদ্ধতার জন্য "বাইনারনেট পোস্ট ক্রিয়েশন সীমাবদ্ধতা" প্লাগইনও তৈরি করেছি। এটি ব্যবহার করে দেখুন http://wordpress.org/extend/plugins/bainternet-posts-creation-limits/


খুব সহজ পদ্ধতির। এটি পোস্ট ভিত্তিক হওয়ার সাথে সামান্য সমস্যা - পৃষ্ঠাটি কোথায় রয়েছে তাও সীমাবদ্ধ করতে চাই।
টম রাইট

পৃষ্ঠাটি কোথায় সীমাবদ্ধ? বোঝাতে যত্ন?
বেন্টারনেট

সুতরাং এখানে সমস্যাটি হ'ল আমি একই ব্যবহারকারীর সমস্ত পৃষ্ঠাগুলি রাখতে চাই। অর্থাত্ মাইসাইট / ইউজারস / বব প্লাস, আমি একই শৈলীতে উপ-পৃষ্ঠাগুলিকেও অনুমতি দিতে চাই: mysite.com/users/bob/mysubpage
টম রাইট

2

ব্যবহারকারী অ্যাক্সেস ম্যানেজার প্লাগইন আপনার জন্য এটি করবে, অন্য সমস্ত পদ্ধতিগুলি খুব জটিল। ইউএএম কেবল সহজ, সেটআপ গোষ্ঠীগুলি প্রস্তুত এবং আপনার সাব-পৃষ্ঠাগুলিতে গোষ্ঠীটি নির্ধারিত, প্রস্তুত।



1

সমাধানটি বোঝায় যে আপনি "সাধারণ" পোস্ট প্রকারের (পোস্ট, পৃষ্ঠা) সম্পাদনা অক্ষম করেছেন disabled

এটা না হিসাবে হার্ড হিসাবে আপনি বিশ্বাস করতে পারে। কী হয় ব্যবহারকারী লগইন নাম । একইভাবে ট্যাক্সোনমি বা শর্তাদি দিয়েও করা যেতে পারে।

নিম্নলিখিতটি দেখুন (একটি প্রশ্নেরও উদাহরণ রয়েছে):

// 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' );

সক্ষমতা পরীক্ষার স্থান (কারেন্ট_উজার_কেন) অন্য কোথাও হতে পারে। আপনার নির্দিষ্ট প্রয়োজনের উপর নির্ভর করে। কেবল এটি নিশ্চিত করার জন্য: কোনও সমাধানে যাওয়ার পথে আপনাকে গাইড করার জন্য এটি উদাহরণ। আশা করি যে সাহায্য করবে :)


0

আমি "সদস্য", একটি কাস্টম পোস্ট টাইপ এবং নির্দিষ্ট সদস্যের লেখকের অধিকারের একটি ম্যানুয়াল অ্যাসাইনমেন্টের সাথে অনুরূপ কিছু করেছি, যেহেতু এটি একটি ছোট গ্রুপের ওয়েবসাইট, তবে আমার কিছু বন্ধু প্রেস সাপোর্ট থ্রেডে পড়া সম্ভব মনে হয়েছে যে এটি সম্ভব সাইনআপ প্রক্রিয়াটিতে প্রবেশ করার জন্য, তাই আমি মনে করি সাইনআপের সময় ব্যবহারকারী হিসাবে প্রতি পৃষ্ঠা / কাস্টম পোস্ট টাইপ স্বয়ংক্রিয়ভাবে তৈরি করা এবং সুনির্দিষ্ট সদস্যটিকে হোমপৃষ্ঠা হিসাবে সুনির্দিষ্ট পৃষ্ঠাটি নির্ধারণ করা সম্ভব হবে। আমি স্ক্রিবুর ফ্রন্ট-এন্ড এডিটরটিও যুক্ত করেছি এবং প্রশাসক নন এমন সদস্যদের ব্যাকএন্ড অবরোধ করে রেখেছি। আপনি সম্ভবত সাইনআপে একটি পুনর্নির্দেশ যোগ করতে পারেন যাতে নতুন সদস্যদের তাদের পৃষ্ঠায় পুনঃনির্দেশ করা হয় (যা আমি মনে করি, কিছু ডিফল্ট সামগ্রী থাকতে পারে)।

আমি দেখতে পাচ্ছি যে আমি এই বন্ধুটি সমর্থন থ্রেডটি পাই।

সংযোজন - সম্পাদনা পোস্টের ক্ষেত্রে লেখক নির্বাচকের মধ্যে একটি বাগ রয়েছে। এটি বর্তমানে স্ট্যান্ডার্ড অনুমতি সিস্টেমটি ব্যবহার করে না, যা সদস্যদের সমাধান আরও জটিল করে তুলতে পারে (যদিও এটি সম্ভবত কাজ করবে যদি লেখক পৃষ্ঠা-সৃষ্টিতে নিযুক্ত করা হয়)। ট্র্যাকটিতে একটি প্যাচ রয়েছে, তবে আমি মনে করি না এটি এখনও কোরটিতে প্রয়োগ হয়েছে।


0

এটি প্লাগইন এস 2 মেম্বার দিয়ে সম্ভব, বিনামূল্যে সংস্করণই যথেষ্ট। আমি একটি ক্লায়েন্ট অঞ্চল তৈরি করেছি যেখানে প্রতিটি ক্লায়েন্টের একটি URL রয়েছে সেখানে একটি ভিডিও টিউটোরিয়াল রয়েছে: http://www.primothemes.com/forums/viewtopic.php?f=4&t=586&start=0&hilit=client+area

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.