NWWG

نشان ندادن ابزارک برای مشترک‌ها (دستور شرطی)

12 پست در این موضوع قرار دارد

سلام

آموزش ساخت ابزارک در پیشخوان وردپرس

مطلب مفیدی با امکان شخصی سازی بالاست

بنده از آقای خلجی در مورد این ابزارک سوالی داشتم که فرمودند در انجمن مطرح بشه تا دوستان پاسخ بدهند. بنده سوال رو عینا اینجا کپی می کنم:

«چه کدی می‌بایست در این ابزارک قرار بدهم تا کاربرانی که سطح اونها “مشترک” تعریف شده این ابزارک رو نبینند و برعکس( یعنی تنها مشترک‌ها ببینند )»

به اشتراک گذاری این پست


لینک به پست

این رو تست کنید


if(current_user_can('read' )){
//کد شما
}

http://codex.wordpress.org/Function_Reference/current_user_can

به اشتراک گذاری این پست


لینک به پست

خوب! متاسفانه کد کار نکرد

از مستندات وردپرس هم چیز کاربردیی دستگیرمان نشد :)

به اشتراک گذاری این پست


لینک به پست

کد رو به چه صورتی استفاده کردید ؟

به اشتراک گذاری این پست


لینک به پست

کد رو به چه صورتی استفاده کردید ؟

همونطور که مرتضی عزیز فرموده بودند

به ابتدای کد که در فانکشن موجود بود اضافه شد

به اشتراک گذاری این پست


لینک به پست

یک سوال احتمالا خیلی سطح پایین:

توی کد ها فقط امکان اجازه یا عدم اجازه عمل خاص رو میشه تعیین کرد (مثلا: یوزر_فعلی_بتواند: بخواند یا بنویسید یا پست را ویرایش کند و ....)

حالا این یوزر چه کسی است؟ یوزر فعلی میتواند مدیر باشد یا مشترک. این سطح یوزر رو کجا باید تعریف کنیم؟

چون میخواهم چند ابزارک در پیشخوان تعریف کنیم که آنها را فقط مشترک ها ببینند نه اعضای فنی و نویسنده ها

و یک ابزارک داریم که به قولی برد اخبار داخلی است. میخواهیم فقط اعضای فنی و نویسنده ها ببینند نه مشترکان عادی

به اشتراک گذاری این پست


لینک به پست

خوب این مورد دومی که گفتید کلا مسئله فرق کرد

شما باید role کاربر جاری رو بگیرید و بعد در شرطی بزارید که اگر فقط این کاربر این دسترسی رو داشت بتونه ببینه

به اشتراک گذاری این پست


لینک به پست

خوب پس بنده بابت کلام نارسام عذرخواهی میکنم که هم وقت شما و هم خودمو در این باره گرفتم

شبه ای که پیش اومد اینکه منظور شما از کاربر جاری چیه؟ هر یوزر خاص رو باید جداگانه تعریف کنیم یا کافیه برای هر "سطح" یکبار تعریف کنیم؟

------------------------

برای شفاف شدن اگر ممکنه مثال بزنید و کدی رو با این خصوصیات ذکر کنید

باز هم ممنون

به اشتراک گذاری این پست


لینک به پست

این رو تست کنید:

$user = wp_get_current_user();

if ( in_array( 'administrator', $user->roles ) ) {
// .. نمایش کد برای نقش مدیر
}

به اشتراک گذاری این پست


لینک به پست

بله کار کرد

و از این بابت بسیار ممنونیم!

دوتا ریزه کاری:

1. الان کد ایجابی است یعنی اگر ادمین بود بتواند ببیند، من کدی میخواهم که سلبی باشد یعنی همه بتوانند بغیر از مشترک ها

2. آیا میشود کد را اینطور نوشت؟:


$user = wp_get_current_user();
if ( in_array( 'administrator,writer', $user->roles ) ) {
// .. نمایش کد برای نقش مدیر
}

و اینکه چون وردپرس فارسی شده من نمیدونم انگلیسی هر سطح دقیقا چی میشه مثلا مدیر : Administrator نویسنده: writer مشارکت کننده: ؟؟؟ مشترک: ؟؟؟

امیدوارم اینبار تونسته باشم مفهوم رو برسونم.از پشتیبانی صمیمانتون ممنونیم

به اشتراک گذاری این پست


لینک به پست

تست کنید:

if ( in_array( 'administrator', $user->roles )  || in_array( 'subscriber', $user->roles ) ) {
// .. نمایش کد برای نقش مدیر
}

2. آیا میشود کد را اینطور نوشت؟:

"subscriber" >مشترک

"administrator" >مدیر

"editor" >ویرایشگر

"author" >نویسنده

"contributor" >مشارکت‌کننده

به اشتراک گذاری این پست


لینک به پست

با تشکر از همگی این مطلب ادامه پست پیغام‌های مدیریت است

افزونه‌ای در مخزن وردپرس برای انجام این کار یافت شد:

http://wordpress.org/plugins/admin-dashboard-site-notes

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط nariman.rf
      سلام، 
      در بخش نوار ابزار پیشخوان (همون جایی که بعد از لاگین کردن به محیط مدیریت، وقتی میریم توی سایتمون، یه نوار مشکی بالا میاد) با کدهایی که وجود داره، میشه لوگوی مربوط به وردپرس رو (سمت راست) حذف کرد و من از این امکان برای محیط کاربری اعضای سایتم استفاده می کنم.
      اما سمت چپ این نوار مشکی، آیکون جستجو هست. چطور میشه اونو حذف کرد؟ 
      در همون سمت راست، آدرس سایت رو نوشته که وقتی روی اون میریم، منوش باز میشه و نوشته پیشخوان. 
      چطور میشه این بخش رو هم حذف کرد؟ 
      ممنون
    • توسط majidbarz
      سلام دوستان چند بار  وردپرس و نصب کردم موقعی که لاگین میکنم به پیشخوان
      پیشخوان مثل عکس میشه چیکار کنم؟
      به هاستینگم گفت گفت مشکل از ما نیست
      رو زبان انگلیسی اوکی ولی فارسی نه چند افزونه فارسی سازم نصب کردم نشد

    • توسط Rustin
      سلام دوستان
      این کد مربوط به سایدبار سایت من هست، که از فایل style.php ورداشتم.
      ============================================================================================================================== /* Sidebar | Width Sidebar | Width /* ============================================================================================================================ */ <?php $sidebarW = mfn_opts_get( 'sidebar-width', '23' ); $contentW = 100 - $sidebarW; $sidebar2W = $sidebarW - 5; $content2W = 100 - ( $sidebar2W * 2 ); $sidebar2M = $content2W + $sidebar2W; $content2M = $sidebar2W; ?> .with_aside .sidebar.columns { width: <?php echo $sidebarW; ?>%; } .with_aside .sections_group { width: <?php echo $contentW; ?>%; } .aside_both .sidebar.columns { width: <?php echo $sidebar2W; ?>%; } .aside_both .sidebar.sidebar-1{ margin-left: -<?php echo $sidebar2M; ?>%; } .aside_both .sections_group { width: <?php echo $content2W; ?>%; margin-left: <?php echo $content2M; ?>%; } /* من این کد رو به طور کامل نمیتونم بفهمم، تنها چیزی که میتونم توش عوض کنم عرض سایدبار هست (همون عدد 23). مشکل من اینه که من نمیخام برای اینکه ابزارک هام بدرستی نمایش داده بشن مجبور بشم اینقدر سایدبارم رو عریض کنم. اگر به سایت مراجعه کنید میبینید که سایدبار خیلی عریض هست و این صرفا به این دلیله که میخاستم ابزارک ها بدرستی نمایش داده بشن... ولی ابزارک ها تمام فضای سایدبار رو نگرفتن بلکه قسمت چپ سایدبار کامل خالیه...
      چطور میتونم بدون تغییر دادن عرض خود سایدبار، کاری کنم که فقط عرض ابزارک های تو سایدبار افزایش پیدا کنه و بدرستی نمایش داده بشن؟ توی کد بالا که همچنین چیزی رو نمیتونم ببینم. (اگر دوستان کسی میتونه کد بالا رو برام توضیح بده تشکر میکنم.)
      پیشاپیش از پاسخگوییتون تشکر میکنم.
      اینم آدرس سایتم: http://www.ouroboros.ir
    • توسط TheOnlyMen
      درود خدمت دوستان گرامی
      خواستم بدانم که چطور می شود که در قسمت title یک ابزارک در وردپرس تغییر ایجاد کرد برای هر ابزارک به طور اختصاصی (بتوان یک کلاس را کنار title قرار داد)
      مثل تصویر زیر:
       

    • توسط p30way
      با سلام دوستان من در حال آپدیت یک افزونه بودم که ناگهان دیدم صفحه کل سایت رفت و با این خطا مواجه شدم ، و هرکاری کردم صفحه سایت باز نشد چیکار باید بکنم ؟ 
      Fatal error: Uncaught Error: Call to undefined function get_bloginfo() in /home/pubcom/domains/..../public_html/wp-includes/class-wp-locale.php:233 Stack trace: #0 /home/pubcom/domains/..../public_html/wp-includes/class-wp-locale.php(113): WP_Locale->init() #1 /home/pubcom/domains...../public_html/wp-includes/load.php(925): WP_Locale->__construct() #2 /home/pubcom/domains..../public_html/wp-includes/load.php(208): wp_load_translations_early() #3 /home/pubcom/domains/..../public_html/wp-settings.php(63): wp_maintenance() #4 /home/pubcom/domains/...../public_html/wp-config.php(90): require_once('/home/pubcom/do...') #5 /home/pubcom/domains/...../public_html/wp-load.php(37): require_once('/home/pubcom/do...') #6 /home/pubcom/domains/...../public_html/wp-blog-header.php(13): require_once('/home/pubcom/do...') #7 /home/pubcom/domains/...../public_html/index.php(17): require('/home/pubcom/do...') #8 {main} thrown in /home/pubcom/domains/....../public_html/wp-includes/class-wp-locale.php on line 233
       
      ممنون میشم راهنمایی کنید نیاز به کمک فوری دارم . تشکر