محدودسازی دسترسی به صفحه

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

برای این کار قالب صفحه جدا بسازید و یا مثلا از فایل page.php قالب یک کپی بگیرید اسمش رو هر چی دوست دارید بذارید . حالا کد زیر را در بالای اون قرار دهید :

<?php
/* Template Name: Restricted to Authors only */
if ( !current_user_can('author')) {
	include('error.php');
	exit(0);
}
?>

در خط سوم میتوانید به جای author از عبارات زیر برای سطح دسترسی های مختلف استفاده کنید :

Administrator : مدیر کل
Editor : ویرایشگر
Author : نویسنده
Contributor : مشارکت کننده
Subscriber :مشترک

خب بعد از قرار دادن کد و ذخیره کردن حالا بروید یک برگه بسازید و قالب برگه را Restricted to Authors only (همان اسم وارد شده در خط دو ) انتخاب کنید و بعد هم انتشار 🙂

تبریک برگه شما فقط دسترسی خاصی دارد 🙂

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

دیدگاهتان را بنویسید

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. 4 سال عضو همیار وردپرس

    سلام خسته نباشید ببخشید آیا امکانش هست مثلا دسترسی رو طوری محدود کرد که بعد از خرید؛ بتونه به صفحه دسترسی داشته باشه ؟؟ بزارید بهتر توضیح بدم جریان رو

    من یک مشکل با ووکامرس در محصولات دانلودی دارم اونم اینه که وقتی لینک محصول رو از هاست دانلود انتخاب میکنیم مشکلات زیادی مث ارور 403 – سرعت پایین اومدن و… بوجود میاد.

    میخواستم بدونم آیا امکانش هست مثلا یک صفحه رو طراحی کنیم که فقط پرداخت کننده ها بتونن بهش دسترسی داشته باشن ؟ ینی حتی اگ لینک کپی بشه باز هم اجازه دسترسی بش نده و بگه بخر بعد ببین ؟ (مشابه رو دیدم آخه)

    چطور این کار صورت میگیره ؟

    • 6 سال عضو همیار وردپرس

      سلام
      برای ووکامرس افزونه ای پیدا نکردم ولی برای EDD یه افزونه هست که اسمش افزونه EDD Content Restriction هست که یک شرت کد میده میزارید توی اون برگه.

    • 4 سال عضو همیار وردپرس

      خیلی ممنونم این EDD واقعا خیلی عالی تر هست. من در EDD مشکلی که برای لینک دادن از هاست خارجی برای محصول تو ووکامرس هست رو ندارم که
      به دلیل اینکه تو ووکامرس این مشکل وجود داره وقتی برا محصولات دانلودی لینک از جای دیگ وقتی میدیم ارور 403 میده اون راه رو میخواستم امتحان کنم

      ببخشید تو EDD من دلیل اینکه استفاده نمیکنم فقط و فقط اینه که صفحه محصول (مشخصات محصول توش نمایش داده میشه اونو میگم) اون صفحه اش قابل ویرایش نیست. اگه راهی میدونید تا اخر عمر دعاتون میکنم این مشکل رو اگه حل کنید و فقط صفحه محصول EDD رو برام یاد بدید چطور میشه ویرایش کرد

      خواهشا اگه میدونید جواب بدید واقعا خییلی نیاز دارم…

    • 6 سال عضو همیار وردپرس

      درود بر شما
      معمولا چنین صفحاتی توسط طراح قالب ساخته میشه و قابل ویرایش نیستند و فقط محتوایا داخلش رو میشه ویرایش کرد. یا قالب های پرمیوم که مخصوصedd هستند رو تهیه کنید و یا اینکه از برنامه نویس بخوایید تاهمین قالبتون رو به اون شکلمورد نظر خودتون براتون درست کنه.

  2. 8 سال عضو همیار وردپرس

    سلام.
    چطوری چند تا نقش بذارم؟ مثلا هم ادمین و هم مشترک
    ممنون.

  3. 8 سال عضو همیار وردپرس

    سلام.
    می خواستم دو نوع عضو دسترسی داشته باشنِ این شکلی کردم ولی نشد:
    if ( !current_user_can(‘contributor, administrator’))
    باید چی کار کنم؟
    ممنون.

  4. سلام دوستان عزیز
    من یک صفحه (برگه) درست کردم و لینک برگه رو کپی کردم و در فایل page.php جدید در خط 4 دستور PHP زیر رو وارد کردم

    header(“location: page address”);

    جای page address آدرس برگه جدید رو نوشتم

  5. 8 سال عضو همیار وردپرس

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

    من همچین پلاگینی پیدا کردم کار هم کرد ولی فردا روزی که پلاگین و نصب کردم سایتمو دچار مشکل کرد
    همچین افزونه ای رو اگه میشناسید معرفی کنین
    ممنونم

    • 8 سال عضو همیار وردپرس

      این آموزش هم همینه. فقط باید صفحه error.php رو طراحی کنین. اونجا می تونین هر چیزی که خواستین بذارید.

    • 5 سال عضو همیار وردپرس

      اول ممنون از مطلب عالی وبسایت.منم سوال این دوست عزیز رو دارم.اگه کسی میدونه لطفا جواب بده.

  6. برای تمامی نقش ها این کد به یک نحو برخورد میکنه و در واقع فقط ارور رو نمایش میده !!!
    برای من که جواب نداد

  7. ممنون از انتشار این مطلب.اما بغیر از صفحه ۴۰۴ میتوان صفحه دیگری را طراحی کرد و نمایش داد ؟

    • 10 سال عضو همیار وردپرس

      سلام
      دقیقا میشه برای هر مدل صفحه ای که بخواهید طراحی کنید

  8. سلام، علی جان نمیشه بجای اینا:
    Administrator
    Editor
    و…
    نام کاربر رو داد؟
    ممنون میشم اگه جواب بدی

  9. سلام
    يك سوال داشتم
    ميخواستم بدونم تويه وردپرس چه طور ميشه كه فرم عضويت گذاشت برا كاربران و اينكه يك به كاربراني كه لاگين كرده اند اجازه ورود به برخي صفحات رو داد ؟
    ايا پلاگين خاصي وجود دارد يا اينكه بايد كد نويسي كرد؟
    ممنون ميشم اگه توضيح بديد چون اين مسئله براي خيلي ها مهم هست
    🙂

  10. این صفحه ی error.php بستگی به قالبت داره
    بعضی قالب ها اونو به صورت 404.php یا همچین چیزایی مینویسن
    شما error رو به نامی که در قالب استفاده شده تغییر بدید، به خواستتون میرسید