ایجاد محدودیت برای نمایش فهرست‌ها در وردپرس با If Menu

محدودیت برای نمایش فهرست‌ها در وردپرس محدودیت برای نمایش فهرست‌ها در وردپرس

گاهی نیاز نمی‌بینیم که فهرست‌ها را به همه افراد در سایت نشان دهیم. یعنی در واقع می‌خواهیم محدودیت‌هایی را برای نمایش فهرست‌هایمان قائل شویم تا فقط افراد خاصی آن را مشاهده کنند. آیا می‌دانید چطور باید این امکان را در وردپرس پیاده‌سازی کرد؟ محدودیت برای نمایش فهرست‌ها در وردپرس تنها نیازمند یک افزونه کاربردی است که با نصب آن می‌توانید تنظیماتی را انجام داده و به دلخواه خود برسید. ما برای این منظور افزونه If Menu را انتخاب کردیم و آموزش امروز را به آن اختصاص دادیم.

محدودیت برای نمایش فهرست‌ها در وردپرس

آنچه در این مقاله به اختصار خواهید خواند:

  • منطق­‌های شرطی در منوهای وردپرس
  • معرفی افزونه If menu
  • استفاده از افزونه If Menu در ایجاد محدودیت برای نمایش فهرست‌ها در وردپرس
  • ایجاد محدودیت برای نمایش فهرست‌ها در وردپرس با استفاده از کد

منطق‌­های شرطی در منوهای وردپرس

منوهای موجود در وردپرس بعضی مواقع نباید به همه نشان داده شوند، در واقع این‌جور مواقع می‌گوییم به دنبال عدم نمایش فهرست‌ها به همه کاربران هستیم. از این رو کارهای مختلف و زیادی وجود دارند که می‌­توانید روی منو­ها انجام دهید تا به آنچه می‌­خواهید برسید. اما اغلب اوقات، وردپرس هنگام صحبت از ساختار و منطق شرطی، ممکن است شما را حین کار دچار سردرگمی کند؛ مگر اینکه کد را کاملا بشناسید و یا افزونه‌­ای را پیاده سازی کنید که از کارکرد آن آگاه باشید.

استفاده از منطق شرطی در وردپرس امکان ایجاد منوهای پویای وردپرس را برای شما فراهم می‌­کند. ایجاد منوی وردپرس پویا با منطق شرطی برای مواردی مانند:

  • عدم نمایش منوها برای همه کاربران در صفحات خاص
  • نمایش منوهای مختلف برای کاربران وارد شده
  • سبک سفارشی در منوهای خاص

در ابتدا بیایید با هم ببینیم که منطق شرطی چیست و چگونه می‌­توانیم به راحتی آن را در فهرست­‌های وردپرس اضافه کنیم.

منطق شرطی چیست؟

در وردپرس از منطق شرطی برای مواردی مانند فرم­‌های وردپرس استفاده می­‌شود. این کار می­‌تواند به شما کمک کند تا عملکرد خاصی را بر روی فرم اجرا و نمایش دهید که بدون استفاده از این منطق نمی‌­توانید. فرم می‌­تواند براساس جواب یا شاید یک جعبه کشویی از جواب­‌ها بر اساس یک سؤال در فرم تهیه شده باشد. براساس پاسخ‌­های داده شده و انتخاب‌­های انجام شده توسط کاربر، فرم‌­ها به صورت پویا از کاربری به کاربر دیگر تغییر می­‌کند. شاید این جمله کمی گیج کننده به نظر برسد، برای فهمیدن آن به این نکته توجه کنید که اگر کاربری وارد سایت شما شود و ثبت نامی را انجام نداده باشد، پس از دیدن بعضی از موارد عاجز است. زیرا که این قسمت­‌ها مختص مشترکین سایت خود طراحی کرده‌­اید و کاربر عادی از دیدن آن ناتوان است.

همین مفهوم در هنگام اضافه کردن منطق شرطی به منوهای وردپرس نیز کاربرد دارد. شما یک منوی وردپرس پویا را بر اساس منطق شرطی ایجاد می‌­کنید. این منوها و نحوه عملکرد آن­ها را براساس اقدامات خاصی که کاربران انجام می­‌دهند، ظاهر می­‌شوند. اگر می­‌خواهید منطق شرطی را به منوهای وردپرس اضافه کنید، دو روش مختلف وجود دارد که می‌­توانید آن را انجام دهید.

  1. با استفاده از افزونه If menu
  2. با استفاده از کدنویسی

معرفی افزونه If menu

آسان­‌ترین راه برای ایجاد منوهای پویا در وردپرس با منطق شرطی و محدودیت برای نمایش فهرست‌ها در وردپرس، استفاده از افزونه وردپرس است. یک افزونه عالی که تنظیم و استفاده از آن آسان است. افزونه‌­ای که امروز برای اضافه کردن منطق شرطی به یک منوی وردپرس از آن استفاده خواهیم کرد، If Menu نام دارد.

if menu- محدودیت برای نمایش فهرست‌ها در وردپرس
ایجاد محدودیت برای فهرست‌ها

این افزونه در منو به شما اجازه می­‌دهد تا براساس قوانین خاص، مشاهده و بازدید از وبسایت خود را کنترل کنید. برخی از کارکردهای اصلی این افزونه عبارتند از:

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

مطمئنا استفاده از این افزونه برای شما آسان خواهد بود.

ویژگی­‌های افزونه دیگر

  • قابلیت تنظیم براساس مجموعه اصلی قوانین نمایش
    • حالت کاربران بر اساس کاربر و یا ورود به سیستم است
    • نقش‌­های کاربران براساس نویسنده، ویرایشگر، مدیر و غیره
    • تشخیص نوع صفحه که صفحه اول است یا پست
    • بایگانی صفحات(براساس سال، دسته، نتایج جستجو و غیره)
    • دستگاه بازدیدکننده موبایل است یا خیر
  • قوانین نمایش پیشرفته که فقط در نسخه پیشرفته افزونه موجود است
  • موقعیت بازدیدکننده؛ ردیابی کشور بازدیدکننده
  • زبان مورد استفاده بازدیدکننده؛ تشخیص زبان انتخاب شده بازدیدکننده
  • نمایش منوها برای کاربران ووکامرس با اشتراک فعال
  • نمایش منوها برای مشتریانی ووکامرس که برنامه­‌های عضویت فعال دارند
  • تشخیص اینکه کاربران در گروه­‌های خاصی قرار دارند یا خیر
  • تشخیص سطح عضویت کاربران
  • تشخیص و محدودیت برای نمایش فهرست‌ها در وردپرس
  • قابلیت ترکیب چندین قانون برای مشاهده یک مورد در فهرست
  • نمایش در صورت اینکه کاربر وارد سیستم شده است و دستگاه تلفن همراه است
  • نمایش در صورت اینکه کاربر Admin AND صفحه اول باشد یا خیر
  • دارای پشتیبانی از افزودن قوانین سفارشی خود
  ممنوعیت کلیک راست روی تصاویر در وردپرس با No Right Click Images Plugin

برای اضافه کردن منطق شرطی به منوهای وردپرس با استفاده از این افزونه، اولین کاری که باید انجام دهید نصب و فعال سازی افزونه If Menu است.

استفاده از افزونه If Menu برای عدم نمایش فهرست‌ها به همه کاربران

پس از نصب و فعال سازی افزونه، بر روی ” Appearance ” یا نمایش و سپس روی فهرست کلیک کنید و بلافاصله می­‌توانید تنظیمات این افزونه را در سایت خود، شروع کنید.

appearence- عدم نمایش فهرست‌ها به همه کاربران
بخش فهرست‌ها در وردپرس

برای این کار کافی است هر منویی را که می­‌خواهید روی آن کار کنید را انتخاب کنید. در همان قسمت منو، یکی از آیتم­‌های منوی مورد نظر خود را انتخاب کنید و روی قسمت کشویی آن کلیک کنید تا باز شود. در قسمت کشویی آیتم­ منو، کادر انتخاب با عنوان ” Enable visibility rules ” را مشاهده خواهید کرد. اکنون باید این کادر را بررسی کنید.

Enable visibility rules- فعال کردن امکان محدودیت فهرست‌ها
فعال کردن امکان محدودیت

هنگامی که این کادر را علامت بزنید، تمام گزینه‌­های منطق شرطی مربوط به آیتم‌­ها در منوی کشویی ظاهر می­‌شود. شما به سادگی منطق شرطی را که می خواهید برای هر از آیتم‌­های فهرست ایجاد کنید را انتخاب کنید. این بستگی به شما دارد که کدام گزینه را انتخاب کنید. برای این کار ابتدا “Show” یا “Hide” را از فهرست کشویی موجود، انتخاب کنید.

show or hide- مخفی کردن یا نمایش دادن
نمایش یا عدم نمایش

اکنون به قسمت بعدی این گزینه­‌ها، یعنی “IF” می‌­رویم. این قسمت در مورد نوع کاربر است. شما در اینجا مشخص می­‌کنید که این آیتم شرطی برای کدام کاربر اجرا شود. یا به عبارتی ایجاد محدودیت برای نمایش فهرست‌ها در وردپرس برای کدام کاربر انجام شود. البته دارای گزینه­‌های دیگری همچون انتخاب نوع صفحه، زبان و وسیله مورد نیاز نیز هست.

kind of user- مشخص کردن نوع کاربر
مشخص کردن نوع کاربر

وقتی این دو انتخاب را انتخاب کردید، آن آیتم خاص از منو را اکنون براساس منطق شرطی که برای آن ­اعمال کرده‌­اید، نمایش داده می­‌شود. همانطور که مشاهده می‌­کنید در این مثال، در صورتی که کاربر “مدیر” باشد، فهرست  یا منوی خود را تنظیم کرده‌­ایم.
علاوه بر این می‌­توانید بیش از یک نوع منطق شرطی را به یک آیتم از منو اضافه کنید. به سادگی روی نماد “+” در سمت راست کلیک کنید و یک منوی کشویی دیگر ظاهر خواهد شد. این قسمت به شما این  امکان را می‌­دهد که نوع دیگری از منطق شرطی را در مورد منو بکار بگیرید و آن را پویاتر جلوه دهید.

choose if- انتخاب منطق شرطی
انتخاب منطق شرطی

به یاد داشته باشید پس از انتخاب همه موارد خود در مورد منو وردپرس که در آن کار می­‌کنید، روی دکمه “ذخیره منو” کلیک کنید تا تمام تغییرات اعمال شود.

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

در این روش چند مرحله بیشتر وجود دارد که می‌­توانید برای اضافه کردن شرایط بیشتر به آیتم­‌های منو، از آن استفاده کنید. همانطور که
می­‌دانید وردپرس در واقع یک لیست کامل از برچسب­‌های شرطی را در خود دارد که می‌­توانید در تمام پروژه­‌های خود از آن­ها استفاده کنید. اگر می­‌خواهید لیست مفصل و کامل آن­ها را مشاهده کنید، می‌­توانید آن را در بین برچسب­‌های وردپرس برای برچسب­‌های شرطی پیدا کنید.
از تمام برچسب­‌های شرطی که در آن صفحه موجود است، می­‌توانید از افزونه If Menu استفاده کنید. برای انجام این کار، شما باید برچسب شرطی را که می­‌خواهید از آن استفاده کنید با کد زیر ترکیب کنید.

در این مقاله می­‌خواهیم یکی از آیتم­‌های فهرست را در صفحات نوع ارسال سفارشی نشان داده یا مخفی کنیم. بنابراین، می‌­توانید با اضافه کردن کد زیر به فایل­‌های function.php این کار را انجام دهید. می‌­توانید با کلیک کردن بر روی “نمایش” و سپس Theme Editor یا ویرایشگر  پوسته را انتخاب کنید تا به فایل‌­های مربوطه دسترسی پیدا کنید. در صفحه ویرایش تم‌­ها، روی فایل (Theme Functions (actions.php کلیک کنید.

theme function- فایل قالب
فایل اصلی قالب

سپس کد زیر را به فایل مورد نظر اضافه کنید:

</pre>
// theme's functions.php or plugin file
add_filter('if_menu_conditions', 'my_new_menu_conditions');

function my_new_menu_conditions($conditions) {
$conditions[] = array(
'id' => 'single-my-custom-post-type', // unique ID for the rule
'name' => __('Single my-custom-post-type', 'i18n-domain'), // name of the rule
'condition' => function($item) { // callback - must return Boolean
return is_singular('my-custom-post-type');
}
);
return $conditions;
}
<pre>

می­‌توانید از کد بالا برای اضافه کردن شرایط دیگر به منوهای وردپرس خود نیز استفاده کنید.

امکان عدم نمایش فهرست‌­ها به همه کاربران در وردپرس

اگر می‌­خواهید راه ارتباط برقرار کردن منو با کاربران خود را براساس این که وارد سیستم شوند یا خیر، یا اینکه به طور فعال در یکی از
عضویت­‌های شما دارای عضویت شده‌­اند یا نه را کنترل کنید یا به طور کلی اقدام به محدودیت برای نمایش فهرست‌ها در وردپرس، کنید؛ راهکار­های متمایزی وجود دارد. به این کار ایجاد شرط برای استفاده از منو یا شرط گذاری می­‌گویند. استفاده از منطق شرطی در منوهای وردپرس به شما امکان می‌­دهد تا از تم­‌های زیبا استفاده کرده و به آن جلوه­ای خاص ببخشید تا کاربران سایت از آن لذت ببرند. امیدوارم این مقاله به شما نشان دهد که چگونه به راحتی می­‌توانید منطق شرطی را به منوهای وردپرس اضافه کنید. با نشان دادن منوها فقط در صورت لزوم، سایت خود را آسان­‌تر  و قابل فهم­‌تر کنید.

دانلود افزونه IF Menu

دانلود قالب if menu صفحه افزونه
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

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

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

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

    با سلام و خسته نباشید من از این افزونه استفاده کردم میخوام کاربرانی که عضو نیستند و گذری وارد سایت می شوند، مثلا منو آموزش رو نبینند حالا کدوم نقش رو مخفی کنم؟
    هر چی گشتم پیدا نکردم لطفا راهنمایی کنید
    ممنون

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

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

  2. سلام
    من میخواهم یک سایت با وردپرس طراحی کنم که صفحه اول آن هیچ منویی ندارد و فقط شامل 4 عکس هست که کاربر با کلیک روی هر عکس، به بخش مربوطه هدایت میشود و از آنجا منوها شروع میشود.
    به عبارتی 4 بخش دارد که هرکدام از این بخشها 4 منوی متفاوت دارند. آیا وردپرس و این افزونه میتواند چنین منوهای جداگانه ای برای من تولید کند؟

    ***ممنون میشم اگه بتونید راهنمائیم کنید. خیلی وقته دنبال راه حل این قضیه هستم.***
    سپاس

  3. سلام:
    من از افزونه کاربران ویژه استفاده می کنم می خواستم کاربران ویژه رو به لیست افزونه اضافه کنم…لطفا راهنمایی نمایید.ممنون

  4. سلام
    این افزونه با برخی قالبها سازگار نیست
    مثل قالبی که من باهاش کار میکنم
    توضیج میکنم به جاشJC Submenu رو استفاده کنید :))

  5. بسیار عالی
    واقعا به دردم خورد
    این افزونه عالیه حرف نداره

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

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

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

      سلام
      فهرست اصلی باید به صورت پیوند سفارشی انتخاب بشه. یعنی فهرستی بسیازید که از بخش پیوندهای سفارشی باشد. (داخل نمایش>> فهرست)

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

      ببخشید منظورتون همون پیوند دلخواهه؟(توی وردپرس من فقط توفهرست برگه ها، نوشته ها، پیوند دلخواه، دسته ها و ساختار ها هست.
      بعد برای اون تب اصلی په پیوندی بذارم؟ به جای گذاشتن خود برگه ها و نوشته ها لینکشون رو بذارم توپیوند دلخواه و بعد تو فهرست؟ ممنون میشم یکم بیشتر توضیح بدید یا یه لینک بدید که توضیح داده باشه.

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

      سلام
      مگه نمیخواید پیوندی بهشون نخوره ؟ باید اصلی رو با پیوند دلخواه در همون بخش فهرست ها بسازید و سپس زیر منوها رو در زیرش تنظیم کنید.

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

      خیلی ممنون
      متوجه شدم
      درست شد.

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

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

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

      مثلا الآن در سایت گوگل اگر روی تب” بیشتر “که در منوی بالای صفحه هست کلیک کنید هیچ صفحه جدیدی باز نمیشه.

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

      سلام
      منم دقیقا برای همین موضوع توضیح دادم خدمتتون

  7. 9 سال عضو همیار وردپرس

    با سلام و تشکر بابت آموزشهای خوبتون.
    من یه افزونه میخواستم که بتونم لیست دوره های آموزشی که در سایت برگذار میشه رو نشون بدم.
    در نهایت کاربر بتونه در یک دوره ثبت نام کنه و از اخبار برگذاری و… دوره باخبر بشه.
    چنین افزونه ای هست؟

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

      سلام
      افزونه ای با نام learnpress هست که قراره من آموزشش رو بذارم، فقط مشکلش اینه که با درگاه پی پال کار میکنه به همین علت تامل کردم

    • این افزونه تکمیل شده؟

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

      سلام
      منظورتون رو متوجه نمیشم.تکمیل هست یعنی چی ؟

    • درگاه پی پال تنها داره ولی میشه توش از درگاه های ووکامرس استفاده کرد و باید ووکامرس نصب باشه.. مشکلش فکر کنم تنها همون نداشتن ریال و تومان هستش! چجوری میشه دلار رو تبدیل به تومان کرد با فانکشن؟

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

    سلام من ایمیل زدم ولی جوابی ندادید.منتظرم همچنان

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

      سلام
      من ایمیلی دریافت نکردم! در قسمت پرسش و پاسخ مطرح کنید تا پیگیری بشه

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

    من یه سوال دارم ممنون میشم جواب بدید.
    من یه حالتی میخوام که مثلا من ۵ تا کاربر دارم با یوزرهای مختلف.
    بعد یه برگه ساختم به اسم پیشنهاد ویژه بعد براش زیر منو درست کنم مثلا اولیش بشه پشنهاد ویژه برای نماینده ۱ دومیش بشه پیشنهاد ویژه برای نماینده شماره ۲٫میخوام مشخص کنم که اگه مثلا نماینده شماره ۲ روی برگه پیشنهاد ویژه نگه میداره فقط گزینه دوم که میشه پیشنهاد ویژه برای نماینده شماره ۲ براش نشون داده بشه دیگه برگه پیشنهاد ویژه برای نماینده شماره ۱ براش نشون داده نشه.یعنی هرکی با user خودش که وارد میشه بشه براش مشخص کرد که برگه مربوط به خودشو ببینه و بقیه براش مخفی باشن.من چند روزه دارم میگردم اما نتونستم سر در بیارم.ممنون میشم کمک کنید