সম্পাদকদের মেনু সম্পাদনা করার অনুমতি দেয়?


46

আমি আমার সম্পাদকদের মেনু পরিবর্তন করার ক্ষমতা দিতে সক্ষম হতে চাই, এটি কি করা যায়?

উপস্থিতি ট্যাবটি কোনও বিকল্প বলে মনে হচ্ছে না, আমি কি এটি এটি করতে পারি?

উত্তর:


53

এটি আপনার থিমের যোগ করুন functions.php:

// add editor the privilege to edit theme

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

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

1
get_rol একটি ক্লাস হয়?
হালকা ফজ

4
@ মাইল্ড ফাজ - নিজেই নয়, তবে এটির উদাহরণ দেয়WP_Role
থিডেডমেডিক

8
আপনার প্রতিটি অনুরোধে সম্ভবত এটি করা উচিত নয়, কারণ এটি যতক্ষণ না আমি বুঝতে পেরেছি ডিবি লেখার কারণ। আরও ভাল admin_initএবং শুধুমাত্রif !$role_object->has_cap('edit_theme_options')
jsphpl

এই সেটিংটি ডাটাবেসে সংরক্ষণ করা হয়েছে (টেবিল wp_options, ফিল্ড wp_user_roles এ) তাই থিম / প্লাগইন অ্যাক্টিভেশনটিতে এটি চালানো ভাল be কোডেক্স.ওয়ার্ডপ্রেস.আর.আর.এফফেকশন_প্রকাশ
পিম স্কাফ

অথবা আপনি এটিকে
ফাংশন.এফপিতে

18

সম্পাদনা: ডাব্লুপিপি 4.9 এর জন্য আপডেট করুন এবং কেবল সম্পাদকের জন্য মেনু আইটেমগুলি লুকানো হচ্ছে

আপনি যদি চান যে আপনার ব্যবহারকারীরা নেভিগেশন মেনু পরিবর্তন করতে সক্ষম হবেন, তবে উপস্থিত বিকল্পের তুলনায় নয়: এটি ব্যবহার করুন

// Do this only once. Can go anywhere inside your functions.php file
$role_object = get_role( 'editor' );
$role_object->add_cap( 'edit_theme_options' );

আপনি আপনার প্রশাসনিক প্যানেলকে সতেজ করার পরে আপনি এই পুরো কোডটি মন্তব্য করতে পারেন, কারণ উপরের কোডটি ডাটাবেসে অবিচ্ছিন্ন পরিবর্তনগুলি করবে।

সম্পাদকের কাছে দৃশ্যমান অধীনে আপনার কাছে এখন সমস্ত বিকল্প রয়েছে। আপনি অন্যান্য বিকল্পগুলি এর মতো লুকিয়ে রাখতে পারেন:

function hide_menu() {

    if (current_user_can('editor')) {

        remove_submenu_page( 'themes.php', 'themes.php' ); // hide the theme selection submenu
        remove_submenu_page( 'themes.php', 'widgets.php' ); // hide the widgets submenu
        remove_submenu_page( 'themes.php', 'customize.php?return=%2Fwp-admin%2Ftools.php' ); // hide the customizer submenu
        remove_submenu_page( 'themes.php', 'customize.php?return=%2Fwp-admin%2Ftools.php&autofocus%5Bcontrol%5D=background_image' ); // hide the background submenu


        // these are theme-specific. Can have other names or simply not exist in your current theme.
        remove_submenu_page( 'themes.php', 'yiw_panel' );
        remove_submenu_page( 'themes.php', 'custom-header' );
        remove_submenu_page( 'themes.php', 'custom-background' );
    }
}

add_action('admin_head', 'hide_menu');

hide_menu()ফাংশনের শেষ 3 টি লাইনগুলি আমার থিমের জন্য নির্দিষ্ট থিম। অ্যাডমিন প্যানেলে আপনি যে সাবমেনুটি আড়াল করতে চান তাতে ক্লিক করে আপনি দ্বিতীয় প্যারামিটারটি সন্ধান করতে পারেন। আপনার ইউআরএল এর পরে এমন কিছু হবে: উদাহরণ. com/wp-admin/themes.php?page=iiw_panel

সুতরাং, এই উদাহরণে, remove_submenu_page()ফাংশনটির জন্য দ্বিতীয় প্যারামিটারটি হবেyiw_panel


1
এটি অ্যাডমিনদের জন্য থিম ইত্যাদি লুকায় ides
জর্জলুইসবার্জস

12

ওয়ার্ডপ্রেস ৩.৮-এ, এটি বর্তমান গৃহীত উত্তরের চেয়ে ভাল কোড হবে।

/**
 * @var $roleObject WP_Role
 */
$roleObject = get_role( 'editor' );
if (!$roleObject->has_cap( 'edit_theme_options' ) ) {
    $roleObject->add_cap( 'edit_theme_options' );
}

3

আমি যখন অ্যাডমিন মেনু কাঠামোটি দেখি তখন মনে হয় nav-menus.phpলিঙ্কটি সামর্থ্যের সাথে আবদ্ধedit_theme_options । আপনি এই ক্ষমতা অন্তর্ভুক্ত করতে সম্পাদকের ভূমিকা পরিবর্তন করতে পারেন? এটি তাদের উইজেট সম্পাদনা করার বিকল্পও দেবে , আমি জানি না এটি সমস্যা কিনা? সমস্ত মেনু অ্যাজাক্স স্টাফ এই ক্ষমতা দ্বারা সীমাবদ্ধ, সুতরাং মেনুগুলি সম্পাদনা করার জন্য কেবল অ্যাডমিন মেনু ক্ষমতা পরিবর্তন করা কার্যকর হবে না।


3

ইন্সটল প্লাগইন "ইউজার রোল এডিটর" - সুইচ edit_theme_options অন - ইনস্টল প্লাগইন প্রশাসনিক - "উইজেট" এবং "সম্পাদনাগুলির জন্য থিম স্যুইচ" স্যুইচ অফ;)


0

আমি খুঁজে পেয়েছি, আপনার মেনুটি এইভাবে কাজ করবে: ইনস্টল প্লাগইন " ব্যবহারকারী ভূমিকা সম্পাদক " এবং সেখানে আপনি সম্পাদকের ভূমিকা এবং অন্যদের জন্যও শর্তটি সম্পাদনা করতে পারেন। Edit_theme_options চালু করুন। তবে এখন: আপনি "থিমস", "উইজেটস" এর অধীনে "মেনু" -শক্তিটি দেখতে পাবেন। আমার জন্য: "মেনু" ক্লিক করার পরে (সম্পাদক হিসাবে) আমি পূরণ করা বিকল্পগুলি দেখতে পাচ্ছি না তবে খালি রয়েছে। সুতরাং I´d প্লাগইন নিষ্ক্রিয় "ব্যবহারকারী ভূমিকা সম্পাদক" এবং "মেনু" এর জন্য পূর্ণ বিকল্পগুলি সঠিকভাবে উপস্থিত হয়। নোট করুন যে "ইউজার রোল এডিটর" প্লাগইনটি নিষ্ক্রিয় করা এডিটরের সক্রিয় অবস্থায় রয়েছে! আমার পক্ষে ভাল, সম্ভবত এটি আপনাকেও সহায়তা করবে

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