استاد شدن در متا دیتا وردپرس – کار با حلقه ها (loops)

استاد شدن در متا دیتا وردپرس – کار با حلقه ها (loops)

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

هنگامی که این مهارت را کسب کردید، دیگر هیچ وقت از نشانه گذاری های (markup) تکراری استفاده نخواهید کرد.

 

استفاده از حلقه Foreach در آرایه ها

حلقه ی استاندارد وردپرس while است، (تا وقتی که آیتمی وجود داشته باشد، حلقه تکرار می شود). اغلب اوقات وقتی با meta data کار می کنیم، بهتر است که حلقه foreach استفاده کنیم.

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

پیش از این آرایه را مشاهده کرده ایم:

اگر بخواهیم این آرایه را قابل خواندن کنیم، باید نشانه گذاری مناسب با حلقه foreach ایجاد کنیم.

ما معمولا متغیر ها را با استفاده از حلقه foreach را به صورت جمعی و فردی راه اندازی می کنیم، به عنوان مثال:

به این روش می توانیم متغیر های آرایه را به صورت فردی نشان دهیم.

آنگاه می نوانیم آرایه های چند بعدی را به متغییر های تکی تقسیم کنیم:

این یک نمونه انتزاعی است، اما من مطمئن هستم که شما می توانید قدرت این کار را درک کنید. به جای اینکه هر بار بازنویسی و به روز رسانی کنید، تنها کافی است یک بار این کار را نوشته، و مشاهده کنید که PHP چگونه وظیفه خود را به درستی انجام می دهد.

در مثال بعدی، ما یک آرایه با تعدای شناسه (ID) پست داریم، و حلقه foreach نام فیلد youtube_name را به عنوان یک لینک بر می گرداند.

 

 

استفاده از ()get_post_meta در بخش اصلی حلقه وردپرس

تاکنون شناسه های پست ها را بطور دستی وارد کرده ایم، اما وقتی در بخش اصلی حلقه وردپرس استفاده می شود ما می توانیم در داخل ()get_post_meta بطور دستی ()get_the_ID را وارد کنیم. بنابراین با استفاده از زمینه های سفارشی که در قبل استفاده کرده ایم، می توانیم آنها را به عنوان بخشی از حلقه اصلی نشان دهیم، اگر بخواهیم ویدیو یوتیوب را در زیر محتوا پست قرار دهیم، به سادگی می توانیم بعد از ()the_content کد زیر را اضافه کنیم:

 

ترکیب کردن یک while با حلقه foreach

اغلب اوقات ما زمینه سفارشی (custom field) داریم که شامل آرایه ای از داده های پیوسته برای اطلاعات مرتبط است. به عنوان مثال، یک فیلد می تواند شامل عنوان ویدیو، mime type، توضیحات و URL باشد.

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

در این مثال، من یک حلقه استاندارد وردپرس برای پست ایجاد کرده ایم، که یک حلقه while است، حلقه دوم از طریق فیلد ویدیو یک دستگاه پخش فیلم با HTML5 ایجاد می کند.

مهم نیست که یک ویدیو وجود داشته باشد یا ده تا. خط های ساده زیر، برای هر یک دستگاه پخش فیلم درست می کند.

 

این اولین قدم برای یادگیری سیستم مدیریت محتوا است. قدم بعدی این است که چگونه با استفاده از متا فیلد ها در دیتا بیس خود پرس و جو (query) کنیم.