گاهی نیاز نمیبینیم که فهرستها را به همه افراد در سایت نشان دهیم. یعنی در واقع میخواهیم محدودیتهایی را برای نمایش فهرستهایمان قائل شویم تا فقط افراد خاصی آن را مشاهده کنند. آیا میدانید چطور باید این امکان را در وردپرس پیادهسازی کرد؟ محدودیت برای نمایش فهرستها در وردپرس تنها نیازمند یک افزونه کاربردی است که با نصب آن میتوانید تنظیماتی را انجام داده و به دلخواه خود برسید. ما برای این منظور افزونه If Menu را انتخاب کردیم و آموزش امروز را به آن اختصاص دادیم.
محدودیت برای نمایش فهرستها در وردپرس
آنچه در این مقاله به اختصار خواهید خواند:
- منطقهای شرطی در منوهای وردپرس
- معرفی افزونه If menu
- استفاده از افزونه If Menu در ایجاد محدودیت برای نمایش فهرستها در وردپرس
- ایجاد محدودیت برای نمایش فهرستها در وردپرس با استفاده از کد
منطقهای شرطی در منوهای وردپرس
منوهای موجود در وردپرس بعضی مواقع نباید به همه نشان داده شوند، در واقع اینجور مواقع میگوییم به دنبال عدم نمایش فهرستها به همه کاربران هستیم. از این رو کارهای مختلف و زیادی وجود دارند که میتوانید روی منوها انجام دهید تا به آنچه میخواهید برسید. اما اغلب اوقات، وردپرس هنگام صحبت از ساختار و منطق شرطی، ممکن است شما را حین کار دچار سردرگمی کند؛ مگر اینکه کد را کاملا بشناسید و یا افزونهای را پیاده سازی کنید که از کارکرد آن آگاه باشید.
استفاده از منطق شرطی در وردپرس امکان ایجاد منوهای پویای وردپرس را برای شما فراهم میکند. ایجاد منوی وردپرس پویا با منطق شرطی برای مواردی مانند:
- عدم نمایش منوها برای همه کاربران در صفحات خاص
- نمایش منوهای مختلف برای کاربران وارد شده
- سبک سفارشی در منوهای خاص
در ابتدا بیایید با هم ببینیم که منطق شرطی چیست و چگونه میتوانیم به راحتی آن را در فهرستهای وردپرس اضافه کنیم.
منطق شرطی چیست؟
در وردپرس از منطق شرطی برای مواردی مانند فرمهای وردپرس استفاده میشود. این کار میتواند به شما کمک کند تا عملکرد خاصی را بر روی فرم اجرا و نمایش دهید که بدون استفاده از این منطق نمیتوانید. فرم میتواند براساس جواب یا شاید یک جعبه کشویی از جوابها بر اساس یک سؤال در فرم تهیه شده باشد. براساس پاسخهای داده شده و انتخابهای انجام شده توسط کاربر، فرمها به صورت پویا از کاربری به کاربر دیگر تغییر میکند. شاید این جمله کمی گیج کننده به نظر برسد، برای فهمیدن آن به این نکته توجه کنید که اگر کاربری وارد سایت شما شود و ثبت نامی را انجام نداده باشد، پس از دیدن بعضی از موارد عاجز است. زیرا که این قسمتها مختص مشترکین سایت خود طراحی کردهاید و کاربر عادی از دیدن آن ناتوان است.
همین مفهوم در هنگام اضافه کردن منطق شرطی به منوهای وردپرس نیز کاربرد دارد. شما یک منوی وردپرس پویا را بر اساس منطق شرطی ایجاد میکنید. این منوها و نحوه عملکرد آنها را براساس اقدامات خاصی که کاربران انجام میدهند، ظاهر میشوند. اگر میخواهید منطق شرطی را به منوهای وردپرس اضافه کنید، دو روش مختلف وجود دارد که میتوانید آن را انجام دهید.
- با استفاده از افزونه If menu
- با استفاده از کدنویسی
معرفی افزونه 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 کلیک کنید.
سپس کد زیر را به فایل مورد نظر اضافه کنید:
</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>
میتوانید از کد بالا برای اضافه کردن شرایط دیگر به منوهای وردپرس خود نیز استفاده کنید.
امکان عدم نمایش فهرستها به همه کاربران در وردپرس
اگر میخواهید راه ارتباط برقرار کردن منو با کاربران خود را براساس این که وارد سیستم شوند یا خیر، یا اینکه به طور فعال در یکی از
عضویتهای شما دارای عضویت شدهاند یا نه را کنترل کنید یا به طور کلی اقدام به محدودیت برای نمایش فهرستها در وردپرس، کنید؛ راهکارهای متمایزی وجود دارد. به این کار ایجاد شرط برای استفاده از منو یا شرط گذاری میگویند. استفاده از منطق شرطی در منوهای وردپرس به شما امکان میدهد تا از تمهای زیبا استفاده کرده و به آن جلوهای خاص ببخشید تا کاربران سایت از آن لذت ببرند. امیدوارم این مقاله به شما نشان دهد که چگونه به راحتی میتوانید منطق شرطی را به منوهای وردپرس اضافه کنید. با نشان دادن منوها فقط در صورت لزوم، سایت خود را آسانتر و قابل فهمتر کنید.