ایجاد و استفاده از زمینه دلخواه شرطی در وردپرس

ایجاد و استفاده از زمینه دلخواه شرطی در وردپرس

ایجاد و استفاده از زمینه دلخواه شرطی در وردپرس

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

 

در سطحی حرفه ای تر استفاده کنیم. در آموزش قبلی با نحوه تعریف یک زمینه دلخواه و فراخوانی آن در فایل های مختلف قالب وردپرس آشنا شدیم. نحوه کار آنها هم به این شکل بود که در صورت مقدار دهی به زمینه دلخواهی که در قالب فراخوانی کرده ایم, مقدار آن به صورت مستقیم در صفحه به نمایش در می آمد و ما نمی توانستیم کنترل خاصی بر روی نحوه نمایش آن زمینه دلخواه داشته باشیم.
مثلا نمی توانستیم تعیین کنیم در صورتی که زمینه دلخواه x مقدار دهی نشد چه اتفاقی بیفتد یا اینکه در صورت اینکه مقدار زمینه دلخواه x در داخل یک کد html دیگر قرار داشت چه اتفاقی برای بقیه کدها بیفتد. برای اینکه بتوانیم کنترل بیشتری بر روی خروجی زمینه های دلخواه داشته باشیم و همچنین بتوانیم المان های حرفه ای تری را ایجاد کنیم می توانیم از توابع شرطی وردپرس کمک بگیریم.

شرطی سازی زمینه های دلخواه وردپرس چه سودی دارد؟

به احتمال زیاد شما تا به حال به سایت های دانلود سر زده باشید. اکثر این سایت ها یک جعبه برای نمایش لینک های دانلود, نسخه نرم افزار, قیمت و … دارند. اغلب سایت های دانلود مبتنی بر وردپرس برای ایجاد چنین بخشی از زمینه های دلخواه استفاده می کنند اما نه به این صورت که تمامی محتوای آن بخش را در یک یا چند زمینه دلخواه قرار دهند. بلکه این سایت ها آن بخش از محتوا را که در همه صفحات یکی است و تغییر نمی کند را از قبل کدنویسی می کنند و در مطلب تنها مقدار هر کدام از زمینه های دلخواه را وارد می کنند. زمانی که مقدار یکی از این زمینه های دلخواه وجود داشت با استفاده از دستور های شرطی بخش های ثابت را به همراه مقدار زمینه دلخواه در سایت نمایش می دهند.

مثلا برای نمایش یک تصویر با استفاده از زمینه های دلخواه در حالت ساده باید مقدار زمینه دلخواه را به شکل

۱ <img src="www.site.name/image.png" >

در محتوا وارد کرد و در قالب هم آن را به این شکل فراخوانی کنیم.

۱ <?php echo get_post_meta($post->ID, "rokesh", true); ?>

اما اگر از دستورات شرطی استفاده کنیم کافی است تا در مطلب آدرس تصویر را وارد کنیم و در قالب هم کد زیر را قرار دهیم.

۱ <?php if(get_post_meta($post->ID, "rokesh", true)) : ?>
۲ <img src="<?php echo $rokesh; ?>" >
۳ <?php endif; ?>

این کد فقط زمانی در سایت نشان داده می شود که زمینه دلخواه ما دارای مقدار باشد. این فقط یک مثال ساده بود, اما برای کارهای پیچیده تر خواهید دید که این ویژگی چقدر مفید خواهد بود. یکی از مزیت های استفاده از این روش نیز این می باشد که مقدار اطلاعاتی که در پایگاه داده ذخیره می شود, کمتر شده و دیتابیس سایت شما حجم کمتری را اشغال خواهد کرد.

نحوه استفاده از شرط برای زمینه های دلخواه وردپرس

حالا که با اهمیت استفاده از شرط برای زمینه های دلخواه وردپرس آشنا شدید بهتر است تا نحوه استفاده از آنها را نیز فرا بگیرید. در اینجا ما چند نوع استفاده از توابع شرطی را بیان می کنیم. اگر با برنامه نویسی php آشنایی داشته باشید خیلی راحت می توانید شرط های پیچیده تری را ایجاد کنید. ابتدا باید مانند آموزشی که قبلا در سایت قرار دادیم زمینه های دلخواه مورد نیاز خود را به وردپرس معرفی کنید. پس از معرفی زمینه های دلخواه می توانید از آنها در قالب استفاده کنید.

۱ – در صورت مقدار دهی زمینه دلخواه, X را چاپ کن

اگر می خواهید تا یک کد php, html, متن یا … فقط زمانی نشان داده شود که به یک زمینه دلخواه مقدار داده باشید باید از ساختار زیر استفاده کنید.

۱ <?php if(get_post_meta($post->ID, "rokesh", true)) : ?>
۲ ...
۳ <?php endif; ?>

کافی است تا کد یا متنی که می خواهید در زمان مقدار دهی به زمینه دلخواه نشان داده شود را به جای نقطه ها قرار دهید. حتی می توانید مقدار یک زمینه دلخواه دیگر را در صورتی که مثلا زمینه دلخواه rokesh مقداردهی شده بود نشان دهید. در کد بالا عبارت rokesh نام زمینه دلخواه است, که باید با توجه به نام زمینه دلخواه خود, آن را تغییر دهید.

۲ – در صورت مقدار دهی زمینه دلخواه, Y را چاپ نکن

با استفاده از ساختار زیر می تونید عملکردی دقیقا عکس عملکرد گزینه ۱ را ایجاد کنید.

۱ <?php if(get_post_meta($post->ID, "rokesh", true)) {?>
۲ <?php } else {?>
۳ ...
۴ <?php }?>

شما در کد بالا به جای نقطه ها هر چیزی را که قرار دهید فقط زمانی نشان داده می شود که مثلا زمینه دلخواه rokesh مقدار دهی نشده باشد. از این مورد می توانید برای قرار دادن متنی مثل “مطلب بروزرسانی شد” و … استفاده کنید.

۳ – در صورت مقدار دهی زمینه دلخواه, X را چاپ کن و Y را چاپ نکن

این مورد ترکیب موارد ۱ و ۲ هست. شما می توانید مشخص کنید که در زمان مقدار دهی یک زمینه دلخواه چه چیزی نشان داده شود و در زمانی که زمینه دلخواه مقداری نداشت چه چیزی نشان داده شود.

۱ <?php if(get_post_meta($post->ID, "rokesh", true)) {?>
۲ ...
۳ <?php } else {?>
۴ ...
۵ <?php }?>

۴ – در صورت مقدار دهی زمینه های دلخواه X, … را چاپ کن در غیر اینصورت اگر زمینه دلخواه Y مقدار دهی شده بود, … را چاپ کن

در این مورد ما ساختاری را ایجاد می کنیم تا در زمانی که زمینه دلخواه X مقدار دهی شده بود, یک چیز را نشان دهد و در صورتی که زمینه دلخواه X مقداری نداشت اگر زمینه دلخواه Y مقدار دهی شده بود, یک چیز دیگر را نشان دهیم. تعداد زنجیره های این حلقه را می توانید تا هرچقدر نیاز داشتید افزایش دهید. فقط باید توجه داشته باشید که جای if و elseif را درست انتخاب کنید.

۱ <?php if(get_post_meta($post->ID, "rokesh_1", true)) {?>
۲ ...
۳ <?php } elseif(get_post_meta($post->ID, "rokesh_2", true)) {?>
۴ ...
۵ <?php }?>

۵ – در صورت مقدار دهی زمینه های دلخواه, مقدار هر یک را چاپ کن

این مورد دقیقا مثل مورد یک می باشد با این تفاوت که ما در اینجا چندین زمینه دلخواه را پشت سر هم چک می کنیم که اگر مقدار دهی شده بودند هر کدام را به صورت جداگانه در قالب نشان دهیم. در این مثال ما ساختار داخلی هر شرط را مقدار آن زمینه دلخواه قرار داده ایم, شما می توانید ساختار داخلی هر یک را با توجه به نیاز خود تغییر دهید.

۱ <?php if(get_post_meta($post->ID, "rokesh_1", true)) : ?>
۲     <?php echo $rokesh_1; ?>
۳ <?php endif; ?>
۴ <?php if(get_post_meta($post->ID, "rokesh_2", true)) : ?>
۵     <?php echo $rokesh_2; ?>
۶ <?php endif; ?>
۷ <?php if(get_post_meta($post->ID, "rokesh_3", true)) : ?>
۸     <?php echo $rokesh_3; ?>
۹ <?php endif; ?>

فکر کنم تا همینجا کافی باشد. شما با استفاده از همین چند موردی که در این آموزش ذکر کردیم می توانید ساختار های پیچیده ای را ایجاد کنید. مثلا می توانید شرط های تو در تو ایجاد کنید یا از یک زمینه دلخواه برای تشخیص نوع محتوا استفاده نمایید, در کل می توان گفت اصل کار به این شکل است و بقیه موارد به نیاز هایی که شما دارید بستگی دارد. امیدوارم این آموزش مفید واقع شده باشد, اگر سوالی داشتید در بخش نظرات همین مطلب آن را با ما در میان بگذارید.

ایجاد و استفاده از زمینه دلخواه شرطی در وردپرس

منبع:روکش

پاسخ دهید