মঙ্গলবার,  রাত ৮:০৭  ♦  ২১শে নভেম্বর, ২০১৭ ইং, ৭ই অগ্রহায়ণ, ১৪২৪ বঙ্গাব্দ ( হেমন্তকাল ), ৩রা রবিউল-আউয়াল, ১৪৩৯ হিজরী  ♦
ওয়ার্ডপ্রেস টিপস

ইউজার পারমিশন নিয়ে একটি প্রশ্ন

আপনার জিজ্ঞাসাCategory: ওয়ার্ডপ্রেসইউজার পারমিশন নিয়ে একটি প্রশ্ন
মোঃ আবুল বাশার Staff asked 2 বছর ago

আমি একটি স্কুলের সাইট তৈরী করেছি, যা দেখার জন্য এখানে ক্লিক করুন।

এখানে একটি ছাত্র/ছাত্রী লিষ্ট  এবং শিক্ষক / শিক্ষিকা লিষ্ট আছে।

আর আমার ইউজার লিষ্টে ইউজার রোল হিসেবে

computer_operator

data-entry

students

teachers

এবং ওয়ার্ডপ্রেসের ডিফল্ট উইজার রোল গুলো আছে, নিচের ছবিটি দেখতে পারেন।

Screenshot_1

এখন আমি চাচ্ছি, শিক্ষক / শিক্ষিকাদের ইনফো দেখতে হলে, তাকে অবশ্যই teachers রোল পারমিশন আইডি থেকে লগইন থাকতে হবে।

মানে টিচারের পারমিশন দেখতে পারবে শুধু

teachers

computer_operator

data-entry

এডমিন, এডিটর।

মানে কোন পাবলিক এবং ছাত্র/ছাত্রীদের আইডি থেকে এটা ভিউ করা যাবে না। আমি জানি এ্যডমিনদের জন্য একটি is_admin() নামে একটি ফাংশন আছে, কিন্তু আমি আমার তৈরী এই কাস্টোম ইউজার রোল গুলোকে কিভাবে পারমিশন দিবো?

বিষয়টি হয়তো আপনাদের সঠিক ভাবে বুঝাতে পারতেছি না 🙁

এই লিংকটি দেখুন, এখানে ক্লিক করলে সবাই এই লিস্ট দেখতে পারতেছে। কিন্তু আমি চাচ্ছি আমার নিদিস্ট ইউজার রোলদের পারমিশন দিতে, তারা শুধু লগইন করেই এই পেজটি দেখতে পারবে।

ধন্যবাদ, সবার উত্তরের অপেক্ষায় রাইলাম।

 

2 Answers
Best Answer
ইফতেখার Staff answered 2 বছর ago

সম্পূর্ণ পরিষ্কার না বিষয়টা, তারপরও যতটুকু বুঝেছি, একটা সমাধান মাথায় কাজ করছে। আপনি বেশকিছু ইউজার রোল তৈরি করেছেন। এখানে কিছু ক্যাপাবিলিটি তৈরি করুন। যেসব ইউজারদের সেই ক্যাপাবিলিটি থাকবে তারাই কেবল নির্দিষ্ট কোন পেজ দেখতে পারবে। ক্যাপাবিলিটি চেক করার কোড হচ্ছে:

if( current_user_can('capability_name') ) {
// page you want to display
}

এরপরও সমস্যা হলে মন্তব্য করে জানাতে পারেন। আমি চেষ্টা করবো যতটুকু সাধ্য আছে সাহায্য করার।

মোঃ আবুল বাশার Staff replied 2 বছর ago

ধন্যবাদ ভাই, দেখি চেস্টা করি, সমস্যা বা সাকসেস হলে জানাবো।<br>তবে একাদিক উইজাদের নাম দিতে চাইলে? শুধু && ব্যবহার করলেই হবে? যেমন: <br><br>if( current_user_can('teachers' && 'computer_operator') ) {<br> // page you want to display<br>}<br><br>এই রকম?

মোঃ আবুল বাশার Staff replied 2 বছর ago

ধন্যবাদ ভাই, দেখি চেস্টা করি, সমস্যা বা সাকসেস হলে জানাবো।

ইফতেখার Staff replied 2 বছর ago

if( current_user_can(‘teachers’) || current_user_can(‘computer_operator’) ) {// page you want to display}এরকম হবে।

মোঃ আবুল বাশার Staff answered 2 বছর ago

ভাই আমি দুইটি ব্যবহার করলে কাজ করে, কিন্তু যখন একই নিয়মে তিনটি বা একাদিক ইউজার পারমিশন দিতে চাই তখন এই ইরোর আসে। তাহলে কি আমার একাদিক ব্যবহারের নিয়মে ‍ভুল আছে এখানে দেখুন:
<?php if( current_user_can(‘student_teacher_panel_manager’) || current_user_can(‘administrator’) ) || current_user_can(‘student_manager’) ) : ?>
 
ইরোর আসে:
Parse error: syntax error, unexpected ‘||’ (T_BOOLEAN_OR) in C:\xampp\htdocs\pak\wp-content\themes\edu\single-teachers.php on line 8
 
উল্লেখ্য যে, আমি শেষে endif করেছি, শুধু যখন আমি দুই বেশি একাদিক ব্যবহার করতে চাই তখনই ইরোর আসে। এ ছাড়া আপনার দেয়া নিয়মে দুইটিতে কাজ করে।

মোঃ আবুল বাশার Staff replied 2 বছর ago

ওহ, সরি ভাই, পেয়েছি, এখানে একটি বেরাকেটের সমস্যা ছিলো।