কীভাবে ব্যবহারকারীর ভূমিকাতে সক্ষমতা যুক্ত করবেন?


14

আমি একটি ওয়ার্ডপ্রেস নেটওয়ার্ক পরিচালনা করছি এবং অ্যাডমিনের ইতিমধ্যে পূর্বনির্ধারিত ব্যবহারকারীর ভূমিকাতে অবিলম্বে_এইচটিএমএল ব্যবহারকারী সক্ষমতা যুক্ত করতে চাই। ওয়ার্ডপ্রেসের একটি স্ট্যান্ডার্ড ইনস্টলেশনতে অ্যাডমিন অ্যাকাউন্টটিতে ইতিমধ্যে এই ক্ষমতা থাকবে তবে একটি এমইউ ইনস্টলেশনতে কেবল সুপার অ্যাডমিনদেরই এই ক্ষমতা সরবরাহ করা হয়। ওয়ার্ডপ্রেস ভূমিকা এবং ক্ষমতা

আমি কীভাবে কোনও থিম বা প্লাগইন থেকে প্রশাসনের ভূমিকা বাড়িয়ে তুলতে পারি?


1
wordpress.org/extend/plugins/unfiltered-mu দেখে মনে হচ্ছে এটি সাহায্য করতে পারে। তবে এটি অ্যাডমিন এবং সম্পাদকদের জন্য কাজ করে। যদি এটি পছন্দসই না হয় তবে কোডটি কিছুটা টুইট করা যায়?
রেভা। ভুডু


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

একটি বিশদ ব্লগ: goo.gl/xNuafH
সুরেশ কামরুশি

উত্তর:


14

আপনি ডাব্লুপি_রোল ক্লাস ব্যবহার করতে পারেন ,

// get the the role object
$role_object = get_role( $role_name );

// add $cap capability to this role object
$role_object->add_cap( $capability_name );

// remove $cap capability from this role object
$role_object->remove_cap( $capability_name );

সুতরাং পোস্ট সামগ্রীগুলিতে অ্যাডমিনদের কীভাবে স্ক্রিপ্ট এবং আইএফআরএমে ট্যাগ প্রবেশ করানো যায় সে সম্পর্কে আপনার মূল প্রশ্নটির সমাধান করার জন্য, আপনি 'আনফিল্টার_এইচটিএমএল' সক্ষমতার সন্ধান করছেন, যা মাল্টিসাইটে কেবল সুপার অ্যাডমিনদের দেওয়া হয়েছে।

// get the the role object
$admin_role = get_role( 'administrator' );
// grant the unfiltered_html capability
$admin_role->add_cap( 'unfiltered_html', true );

অথবা আপনি আপনার ফাংশনগুলিতে একবার এটি চালাতে পারেন:

/* Roles & Capabilities */
add_role('professional', 'Professional User', array(
    'read' => true, // True allows that capability, False specifically removes it.
    'edit_posts' => true,
    'delete_posts' => true,
    //'edit_published_posts' => true,
    //'publish_posts' => true,
    //'edit_files' => true,
    'upload_files' => true //last in array needs no comma!
));

ধন্যবাদ ফিলিপ WP_Role ক্লাসের ক্ষেত্রে কোডটি কখন কার্যকর করা উচিত? আমি ধারণা করছি এটি গ্লোবাল রোল অবজেক্টকে প্রভাবিত করে? আমি আনন্দিত যে আপনি কোডের দ্বিতীয় ব্লকটি এনে উল্লেখ করেছিলেন যে আমি আমার ফাংশন ফাইলে এটি একবার চালাতে পারি। আমি ওয়ার্ডপ্রেস সমর্থন ফোরামগুলির কয়েকটিতে একই রকম সমাধান পেয়েছি তবে থিম বা প্লাগইন ইন একবার কোড কোড চালানো আমার পক্ষে অদ্ভুত বলে মনে হয়েছে Especially সম্ভবত রোল রাইটিং আসলে নগণ্য। দক্ষতা বনামের জন্য যাচাই করতে কেবল আপনার প্রথম উদাহরণ হিসাবে প্রদর্শিত ভূমিকার জন্য ক্ষমতা লিখুন।
জনিবোজ্যাঙ্গলেস

আপনি যদি আমাদের কিছুক্ষণ নির্দ্বিধায় বিনামূল্যে জানান তবে আপনি কীভাবে ডাব্লুপি_রোল ক্লাসটি কার্যকর করবেন তা সম্পর্কে আমি আগ্রহী। ধন্যবাদ
ওসু

1
চূড়ান্ত গাইড ভূমিকা & কেপেবিলিটিস হবে: @Jonnybojagles & @Osu, এই চেক আউট garyc40.com/2010/04/ultimate-guide-to-roles-and-capabilities
ফিলিপ

আমি ইতিমধ্যে আমার অনুগ্রহে সেই নিবন্ধটি পড়েছি, তবে আমি আবার এটির মাধ্যমে চালানোর সুযোগটি নিয়েছি, ধন্যবাদ! অবশেষে, অবিলম্বে-মিউ (রেভ। ভুডু দ্বারা উপরে উল্লিখিত) প্লাগইন বিছিন্ন করার পরে অবশেষে আমি জানতে পেরেছি যে ক্ষমতা যোগ করে ভূমিকা পরিবর্তন করা যথেষ্ট নয়। আমার ওয়ার্ডপ্রেসের কেএসইএস ফিল্টারগুলি আনফিলার করা দরকার।
জনিবোজঙ্গলস

আমি অ্যারেতে শেষ উপাদানটিতে কমা যুক্ত করতে পছন্দ করি। যদিও কোডটি কাজ করা বা ত্রুটি (গুলি) এর ফলে তৈরি করা প্রয়োজন হয় না তাই এটি অপ্রাসঙ্গিক বলে মনে হচ্ছে, পরিবর্তনগুলি দৃশ্যমান করার সময় সংস্করণ নিয়ন্ত্রণ ব্যবহার করার সময় এটি কার্যকর হয়; আপনি অ্যারের আইটেমটির একটি পুরানো লাইন দেখতে পাবেন না, মুছে ফেলা হয়েছে, পুনরায় যুক্ত এবং নতুন হিসাবে হাইলাইট হিসাবে কেবল একটি কমা দিয়ে যুক্ত হয়েছে বা সেই লাইনের জন্য করা পরিবর্তন change যদিও সামান্য, পরিবর্তনগুলি বিশ্লেষণ করার সময় এটি প্রচুর সময় সাশ্রয় করতে সহায়তা করে।
নায়েদিকীকে

2

সুপার অ্যাডমিন বা অ্যাডমিন ব্যতীত অন্য কোনও ভূমিকা (ওয়ার্ডপ্রেস ইনস্টলেশনটি কোনও নেটওয়ার্ক / এমইউ উদাহরণস্বরূপ কিনা তা নির্ভর করে) কোনও পোস্টে অবিলম্বে এইচটিএমএল যুক্ত করতে বা মন্তব্য করতে ওয়ার্ডপ্রেসের কেএসইএস ফিল্টারটি অপসারণ করতে হবে।

ব্যবহারকারীর একটি বিশেষ ক্ষমতা আছে কিনা তা পরীক্ষা করুন।

if ( current_user_can( 'unfiltered_html' ) ) {  }

KSES অপসারণের চেয়ে তাই যদি

kses_remove_filters();

এই কার্যকারিতাটি ইতিমধ্যে নিবন্ধহীন-মিউজে আবদ্ধ রয়েছে, প্রশাসকদের এবং সম্পাদকদের অবিচ্ছিন্ন এইচটিএমএল যুক্ত করার অনুমতি দেয়।


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