সাইডবারে সম্পাদককে অ্যাক্সেস দিন


15

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



মনে হচ্ছে আমি যা খুঁজছি তা ধরণের মনে হচ্ছে তবে আমি কোডটি বুঝতে পারি না। দেখে মনে হচ্ছে যেন কোনও নতুন ব্যবহারকারী তৈরি করা এবং বিদ্যমান ব্যবহারকারীর সম্পাদনার পরিবর্তে ভূমিকা অর্পণ করা
হাওডি_এমসিজি

উত্তর:


21

edit_theme_optionsসামর্থ্য এই পৃষ্ঠাতে বর্ণনা অনুযায়ী ব্যবহারকারী পার্শ্বদন্ডে সম্পাদনের অনুমতি উচিত: http://codex.wordpress.org/Appearance_Widgets_SubPanel

কোড যুক্ত করতে functions.php

   $role = get_role('editor'); 
   $role->add_cap('edit_theme_options');

সম্পাদনা:

এটি থিম বা মেনুতে সম্পাদক অ্যাক্সেস রোধ করতে কাজ করা উচিত

function custom_admin_menu() {

    $user = new WP_User(get_current_user_id());     
    if (!empty( $user->roles) && is_array($user->roles)) {
        foreach ($user->roles as $role)
            $role = $role;
    }

    if($role == "editor") { 
       remove_submenu_page( 'themes.php', 'themes.php' );
       remove_submenu_page( 'themes.php', 'nav-menus.php' ); 
    }       
}

add_action('admin_menu', 'custom_admin_menu');

আমার এটি পরীক্ষা করার সুযোগ নেই, তবে এটি কেবল মেনু থেকে তাদের সরিয়ে দেয় তারা এখনও সরাসরি ইউআরএল টাইপ করে এগুলি অ্যাক্সেস করতে সক্ষম হতে পারে।


এটি একটি কবজির মতো কাজ করে তবে তারপরে আমি কীভাবে এগুলি মেনু বা থিমগুলি অ্যাক্সেস করা থেকে রক্ষা করব?
হাওডি_এমসিজি

আমার সম্পাদিত উত্তর দেখুন।
এলিয়ট

মারাত্মক ত্রুটি: অপরিজ্ঞাত ফাংশন মুছে ফেলা_মেনু_পেজে () - এছাড়াও আমি ইউআরএল দ্বারা এটি টাইপ করার বিষয়ে আমি উদ্বিগ্ন নই আমি সত্যিই সন্দেহ করি যে কেউ এই দূষিত হতে পারে এমনকি এটি কেবল থিম এবং মেনু। এবং আমি আপনার পোস্টে যথেষ্ট +1 করতে পারি না! ধন্যবাদ!
হাওডি_এমসিজি

দুঃখিত, ভুল কোড যুক্ত হয়েছে এটি হওয়া উচিত remove_submenu_pageযদিও আপনার এখনও মারাত্মক ত্রুটি পাওয়া উচিত হয়নি। আমি আমার উত্তর সম্পাদনা করেছি এবং পরীক্ষা করেছি এবং আমার জন্য সমস্ত কাজ ঠিক আছে?
এলিয়ট

1
ওহ, তবেই কেবল তখন 3.1.0 থেকে সমর্থন করা হয়েছিল, আপগ্রেড করার পরে আমার কোনও বাগ ছিল না ... এটি সুরক্ষিত রাখতে আমি সর্বদা সর্বশেষতম সংস্করণে আপগ্রেড করার পরামর্শ দেব।
এলিয়ট

1

আপনি যদি এটি সম্ভব হিসাবে সহজেই কনফিগার করতে চান তবে সদস্য প্লাগইনটি ব্যবহার করুন। আপনার যে সামর্থ্য যোগ করতে হবে তা হ'ল 'edit_theme_options'। সচেতন থাকুন যে এটি কেবল উইজেট অঞ্চলগুলির চেয়ে বেশি মঞ্জুরি দেবে, এটি সম্পাদককে পুরো উপস্থিতি মেনুতে অ্যাক্সেস দেয়। এখানে দেখো

http://wordpress.org/extend/plugins/members/

আপনি যদি এই প্রোগ্রামটিমেটিকভাবে করতে চান তবে আপনার অ্যাড_ক্যাপ () ব্যবহার করতে হবে।

$editor = get_role('editor');
$editor->add_cap('edit_theme_options');

আপনি সেই কোডটিকে তার নিজস্ব প্লাগইনে ফেলে দিতে পারেন এবং আপনার কাজটি শেষ হয়েছে। অথবা এটি ফাংশন.এফপি-তে রাখুন


এবং যদি কেউ মোটামুটি জনপ্রিয় ব্যবহারকারী ভূমিকা সম্পাদক ব্যবহার করে থাকেন তবে আপনি সেখানে 'থিম বিকল্পগুলি সম্পাদনা করুন' / 'edit_theme_options' নির্বাচন করতে পারেন।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.