من میخوام برای هر صفحه ابزارک اختصاصی خودش را داشته باشم.
راهی هست که بتونم این این کار مدیریت کنم؟
من میخوام برای هر صفحه ابزارک اختصاصی خودش را داشته باشم.
راهی هست که بتونم این این کار مدیریت کنم؟
یه راهش البته( کمی سختش) این هست که شما برای هر برگه یک فایل در قالب درست کنید بدین صورت که در صفحه برگه اون قالب را انتخاب کنید و توی اون قالب بجای فراخوانی تابع سایدبار کدهای سایدبار و ابزارک های مربوط را بنویسید ولی فکر می کنم راه های ساده تری هم وجو داشته باشه
این کار خیلی سخت میشه و فکر کنم استاندارد نباشه
مثلا من اگه این کار را وساه مشتری انجام بدم ، همیشه گیرش هستم که یه صفحه جدید براش درست کنم که ابزارک خاص خودش را داشته باشه
سلام دوست عزیز این کاری که شما گفتید می شه الان راهنماییتون می کنم:
اگر فایل functions.php دارین بازش کنید و اگر هم ندارید یک فایل با همین نام ایجاد کنید سپس کد زیر درون آن قرار دهید
register_sidebars(1, array('name'=>'نام محل یا ابزارک'));
این کد باعث می شه یک ابزارک در قسمت ابزارک ها اضافه شود حالا بستگی به خودتون و احتیاجتون داره هر یک خط این کد یک ابزارک اضافه می کنه
حالا برای استفاده از ابزارک در قالب خودتون هرجایی که می خواهین ابزارک نمایش داده شود این کد بزارین
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(شماره ابزارک) ) : else : ?> <?php endif; >
بزار برای این که بهتر متوجه بشی یک مثال بزنم مثلا من یک قالب دارم که می خواهم دو ابزارک داشته باشه ابزارک اولی در صفحات single فقط نمایش داده شود و ابزارک دومی در صفحه اول نمایش داده شود
برای این کار داخل فایل functions.php این دو خط کد قرار می دم
register_sidebars(1, array('name'=>'ابزارک اولی'));
register_sidebars(1, array('name'=>'ابزارک دومی'));
حالا می خوام ابزارک اولی فقط در صفحه single نمایش داده بشه برای این کار کد زیر در فایل single.php قرار می دم
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(1) ) : else : ?> <?php endif; >
وابزارک دومی می خوام فقط در صفحه اول نمایش بدم برای این کار هم کد زیر را در فایل index.ph قرار میدم
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar(2) ) : else : ?> <?php endif; >
خیلی ممنون از راهنمایی کامل تون
مشکلم با این راه حل برطرف شد