نمایش ویجت های وردپرس به صورت شرطی در صفحات خاص
- نویسنده : mohammad در دسته بندی آموزش و هک, وردپرس
- بدون نظر و 5,628 بازدید
- ۹۴/۰۱/۰۹
- ویجت وردپرس
اگر شما هم به مانند خیلی از کاربران دیگر، از وردپرس به عنوان سیستم مدیریت محتوای خود استفاده می کنید باید بدانید که می توانید محتویات اضافی مورد نظر خود را به نوارهای کناری یا sidebar ها با استفاده از ویجت های موجود اضافه کنید. وردپرس به صورت پیشفرض دارای یک سری ویجت برای نمایش فهرست پستها، tag clouds، جست و جو و تقویم است. در قالب های استاندارد وردپرس مانند TwentyTen و TwentyTwelve ، ویجت ها در تمامی صفحات موجود اعم از homepage، post، page و archive نمایش داده خواهند شد.
با این حساب اگر بخواهیم ویجت ها را تنها در یک صفحه خاص نمایش دهیم باید چه کار کنیم؟
برای رسیدن به پاسخ این سوال ادامه این آموزش را از دست ندهید.
فایل جداگانه Sidebar:
یک قالب وردپرس برای نگه داشتن و نمایش ویجت ها به فایل sidebar.php نیاز قطعی دارد. همچنین وردپرس از برچسب الگوی get_sidebar() برای نمایش ویجت ها روی صفحات استفاده می کند.
ما می توانیم چندین فایل سفارشی سازی شده sidebar به منظور نمایش در فایل های الگوی قالب ایجاد کنیم.
به عنوان مثال فرض کنید که ما یک صفحه ارتباط یا همان Contact page داریم. حال می خواهیم در این صفحه نوارکناری یا همان sidebar ای داشته باشیم که با نوارکناری صفحات دیگر تفاوت داشته باشد. در این حالت ما باید یک فایل sidebar جدید ایجاد کنیم و نام آنرا به عنوان مثال مانند چیزی شبیه sidebar-contact.php قرار دهیم.
سپس در فایل الگوی ارتباط یا contact template file ما می توانیم sidebar جدید خود را به صورت زیر فراخوانی کنیم:
get_sidebar( 'contact' );
به این ترتیب هر چیزی که به Contact sidebar اضافه شده، در صفحه ارتباط نمایش داده شده و اثری از آن در دیگر صفحات دیده نخواهد شد. با این روش ما می توانیم ویجت هایی را که بیشتر مرتبط به این صفحه هستند را نمایش دهیم.
استفاده از برچسب های شرطی :
در روش بالا فرض بر این بود که شما یک الگوی سفارشی برای صفحه مورد نظر خود ایجاد کرده اید. با این حال اگر الگویی ایجاد نکرده اید می توانید از برچسب های شرطی استفاده کنید.
در زیر یک نمونه کد آورده ایم که شما می توانید آن را به فایل page.php اضافه کنید. این کد نوارکناری بخش ارتباط را در صفحه ارتباط یا همان contact page نشان خواهد داد. البته ناگفته نماند نوارهای کناری عادی نیز که متعلق به دیگر صفحات است نیز فعال هستند.
if ( is_page('contact') ) { get_sidebar( 'contact' ); } else { get_sidebar(); }
استفاده از Jetpack :
به عنوان یک روش جایگزین شما همچنین می توانید این عملیات را از طریق بخش مدیریت کل وبسایت با استفاده از جت پک انجام دهید. برای این منظور کافی است در بخش جت پک ماژولی با نام Widget Visibility را فعال کنید. با این ماژول ما می توانیم ویجت ها را برای صفحات مورد نظر خود فعال یا غیرفعال کنیم.
سپس به مسیر Appearance > Widgets مراجعه کنید. حال باید شما یک دکمه جدید که با نام Visibility به این بخش اضافه شده را ببینید. اکنون روی این دکمه کلیک کنید و پارامترهای خواسته شده را تنظیم کنید.
.
.
در مثال بالا من فقط یک ویجت تنظیم کردم که تنها در صفحه تماس با ما نمایش داده خواهد شد. جدای قابلیت انتخاب صفحات، شما همچنین می توانید فهرست، برچسب و پست های مورد نظر خود را نیز انتخاب کنید.
در پایان امیدواریم این آموزش کوتاه مورد پسند شما قرار گرفته باشد. به عنوان سخن پایانی اگر سوال یا نظری در رابطه با این آموزش داشتید کافی است آنرا در بخش نظرات با ما و دیگر دوستانتان در میان بگذارید.
ترجمه شده توسط تیم آرتاباز، هادی نجار.