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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ایجاد محدودیت برای فهرست‌ها
ایجاد محدودیت برای فهرست‌ها

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

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

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

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

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

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

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

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

بخش فهرست‌ها در وردپرس
بخش فهرست‌ها در وردپرس

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

فعال کردن امکان محدودیت
فعال کردن امکان محدودیت

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

نمایش یا عدم نمایش
نمایش یا عدم نمایش

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

مشخص کردن نوع کاربر
مشخص کردن نوع کاربر

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

انتخاب منطق شرطی
انتخاب منطق شرطی

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

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

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

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

فایل اصلی قالب
فایل اصلی قالب

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

// 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;
}

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

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

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

منابع لاتین
_ HamyarWp
تیم تولید محتوا _ آلتیمیت وردپرس
ما در تیم تولید محتوای آلتیمیت وردپرس، سخت در تلاش هستیم تا بهترین مقالات آموزشی در زمینه وردپرس و کسب‌و‌کارهای اینترنتی را برای شما فراهم کنیم. محتوای این صفحه توسط یوسف حسینی کنترل و بررسی خواهد شد.

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