توابع و شرط ها در وردپرس جلسه ۱
آموزش برخی از تابع ها (فانکشن) و شرط های وردپرس
به طور معمول در وردپرس برای مشخص کردن جای قرار گیری محتوای نوشته ها از عبارتهای شرطی استفاده می شود. برای این کار عبارت شرطی مناسب را در فایل های قالب مان درج می کنیم. به عنوان مثال فرض کنید در صفحه اصلی سایت هدری متفاوت با صفحات داخلی سایت داشته باشیم و یا می خواهیم فهرست ها فقط در صفحه اصلی نمایش داده شود. برای این گونه تغییرات از شرط ها کمک می گیریم. در این مقاله به بررسی برخی شرط های پرکاربرد در سایتی بر پایه وردپرس می پردازیم.
درنظر داشته باشید: شرط هایی که امروز مورد بررسی قرار میدهیم مقدار true و یا false را باز می گردانند.
کد و توابع صفحه اصلی
s_home(); is_front_page();
برای شخصی سازی صفحه اصلی سایت وردپرسی هر دو شرط بکارمی روند. در ادامه به نحوه بکارگیری آن ها توجه کنید:
<?php if ( is_home() ) { // اگر صفحه اصلی است سایدبار blog رو نشون میده get_sidebar( 'blog' ); } else { // در غیر این صورت سایدبار رو نشون میده get_sidebar(); } ?> <?php if(is_front_page()) { print bloginfo('description'); } // اگر صفحه اصلی است توضیحات رو چاپ کنه else { print wp_title(); } // در غیر این صورت عنوان رو برگردونه ?>
تابع صفحه وبلاگ
برای شخصی سازی وبلاگ سایت شرطی وجود ندارد و اگر میخواهید آنرا شرطی کنید باید از هر دو تابع is_home و is_front_page کمک گرفت.
تابع صفحه پنل مدیریت
is_admin();
این تابع برای فراخوانی پیشخوان صفحه مدیریت استفاده میشود اما زمانی اجرا میشود که کاربر وارد پنل مدیریت شده باشد. نکته : wp-login.php صفحه پنل مدیریت محسوب نمی شود. باید از متغیرهای بخش مدیریت برای بررسی این صفحه استفاده کنید.
تابع نوار ادمین
is_admin_bar_showing() is_admin_bar_showing()
تابع فوق نیز در صورت نمایش داده شدن نوار ادمین مقدار true را بازمیگرداند.
توجه: تابع show_admin_bar() برای نمایش نوار ابزار و نمایش ندادن آن بکار می رود. و برای این کار تابع را در فایل فانکشن قالب تان قرارد دهید
توابع فانکشن صفحه داخلی مطالب
is_single()
توابع فوق وقتی فراخوانی میشود که صفحات داخلی، مطالب ، پیوست ها نمایش داده می شوند و در هنگام نمایش برگه ها اجرا نمی شود.
is_single(’۱۰’);
میتوانید از ID مطالب برای مشخص کردن زمان اجرای تابع استفاده کنید مثلا تابع فوق وقتی اجرا خواهد شد که مطلب با ID ۱۰ نمایش داده شود.
is_single(‘iran is good’)
در کد بالاهر زمان پستی با عنوان iran is good نمایش داده شود، این تابع اجرا خواهد شد . (هر عنوانی به جای عنوان مطلب می توانید بگذارید )
is_single(‘me-too’)
در کد بالاهر زمان مطلبی با نامک me-too نمایش داده شود، این تابع اجرا خواهد شد . (شما هر نامکی می توان گذاشت )
is_single( array( 10, ‘me-too’, ‘iran is good’ ))
در کد بالاهر زمان مطلبی با با آی دی ۱۰ و یا با نامک me-too و یا با عنوان iran is good نمایش داده شود، این تابع اجرا خواهد شد .
is_single( array( 17, 19, 1, 11 ))
در کد بالا هر زمان مطلبی با با آی دی ۱ یا ۱۱ یا ۱۷ یا ۱۹ نمایش داده شود، این تابع اجرا خواهد شد .
is_single( array( ‘iran-good’, ‘me-too’, ‘bag’ ))
در کد بالاهر زمان مطلبی با نامک iran-goog یا me-too یا bag نمایش داده شود، این تابع اجرا خواهد شد .
is_single( array( ‘iran is good’, ‘me too’, ‘bag’ ))
در کد بالا هر زمان مطلبی با عنوان iran is good یا me too یا bag نمایش داده شود، این تابع اجرا خواهد شد .
نکته:در استفاده از تابع ممکن است با مشکلی مواجه شوید که وقتی مطلبی با عنوان یا نامک ۱۰ دارید و ازاین تابع استفاده می کنید، تابع مطلب با آی دی ۱۰ را در نظر می گیرد
در واقع تشخیص عنوان یا نامک یا آی دی مطلب برای این تابع ممکن نیست.
مطالب سنجاق شده ( مهم )
در وردپرس برای نمایش دادن همیشگی مطلبی در ابتدای صفحه به عنوان اولین مطلب از گزینه سنجاق کردن استفاده می شود. تابعی که معرفی می نماییم برای این نوع مطالب است.
is_sticky()
در کد بالاهر زمان مطلبی از سایت با عنوان سنجاق شده ، نمایش داده شود، این تابع اجرا خواهد شد . این تابع فقط به آی دی مطلب نگاه میکند.
is_sticky( ’۱۰’ )
در کد بالاهر زمان مطلبی با با آی دی۱۰ سنجاق شده باشد، این تابع اجرا خواهد شد .
تابع برگه ها
is_page()
در کد بالاهر زمان که یک برگه نمایش داده شود، این تابع اجرا خواهد شد .
is_page( 13 )
در کد بالاهر زمان که برگه ای با آی دی ۱۳ نمایش داده شود، این تابع اجرا خواهد شد .
is_page( 'me and you go' )
در کد بالاهر زمان که یک برگه با عنوان me and you go نمایش داده شود، این تابع اجرا خواهد شد .
is_page( 'come-back' )
در کد بالاهر زمان که یک برگه با نامک come-back نمایش داده شود، این تابع اجرا خواهد شد .
is_page( array( 12, 'come-back', 'me and you go' ) )
در کد بالاهر زمان که یک برگه با آی دی ۱۲ یا نامک come-back یا عنوان me and you go نمایش داده شود، این تابع اجرا خواهد شد .
is_page( array( 12, 14, 16 ) )
در کد بالاهر زمان که یک برگه با آی دی ۱۶ یا ۱۲ یا ۱۴ نمایش داده شود، این تابع اجرا خواهد شد .
مثلا: در کد زیر برگه ای با آی دی ۲۰ داریم که میخواهیم هدری متفاوت داشته باشد.
<?php if(is_page(30)){ // اگر شرط درست بود و برگه ای با آی دی ۳۰ در حال نمایش بود print ' <div class="header-style-2"> محتوای هدر نوع ۲ </div> '; } ?>
تابع قالب برگه
برای اجرای دستورات در قالب برگه از تابع زیر استفاده میکنیم. مثلا وقتی قالب برگه تماس با ما نمایش داده میشود این دستورات اجرا شوند . حالا می خوام تابعی برای قالب برگه تعریف کنیم. برای مثال اگر در قالب برگه تماس با ما هستم یکسری دستورات اجرا بشه.
is_page_template()
وقتی این تابع زمانی اجرا می شود که در روت پوسته سایت فایل about.php در حال اجرا باشد.
is_page_template( ‘about.php’ )
نکته: آدرس این فایل باید کامل قرارداده شود اگر که در دایرکتوری دیگری باشد. برای مثال تابع را به صورت زیر مینویسیم این فایل در پوسته سایت فولدر page-templates باشد:
is_page_template( ‘page-templates/about.php’ )