زمینه دلخواه در وردپرس چیست ؟ افزودن و نمایش زمینه دلخواه در سایت
زمینههای دلخواه یا Post Meta، فیلدهایی هستند که بسته به نیاز در طراحی سایت با وردپرس میتوانند به نوشتهها یا برگهها یا هر نوع پست سفارشی دیگر اضافه شوند. این ویژگی در سیستمهای دیگر مثل جوملا با نامهایی مثل Custom Field یا Extra Field یا فیلد سفارشی شناخته میشود.
برای مثال در طراحی فروشگاه اینترنتی با ووکامرس، هر محصول، یک پست سفارشی است و ویژگیهای محصول مثل قیمت، ابعاد، وزن، رنگ و ... هر کدام یک زمینهی دلخواه به حساب میآیند.
زمینههای دلخواه میتوانند برای نوشتهها نیز به کار بروند. برای مثال در یک سایت خبری، منبع اصلی خبر میتواند به عنوان یک زمینهی دلخواه به تمام نوشتهها اضافه شود.
اضافه کردن زمینههای دلخواه به نوشتهها در وردپرس
اضافه کردن زمینههای دلخواه به یکی از سه صورت زیر ممکن است انجام شود:
- با استفاده از ویرایشگر زمینههای دلخواه در وردپرس.
- با استفاده از افزونههای کمکی مثل CMB2.
- درج زمینههای دلخواه توسط افزونهها به صورت صریح یا ضمنی.
با استفاده از ویرایشگر زمینههای دلخواه در وردپرس
ویرایشگر وردپرس به صورت پیشفرض بخش مربوط به زمینههای دلخواه را به شما نشان نمیدهد. جهت نمایش این بخش، از بخش تنظیمات بالای صفحه، گزینهی «زمینه دلخواه» را تیک بزنید تا بخش مربوط در پایین ویرایشگر نمایان شود.
در این ویرایشگر میتوانید به تعداد دلخواه فیلد اضافی یا Extra Field یا زمینه دلخواه به نوشتهی خود بیفزایید. هر زمینهی دلخواه دارای یک نام و یک مقدار است. وردپرس این امکان را فراهم میکند که چند زمینهی دلخواه با یک نام داشته باشید یا به عبارت دیگر آرایهای از مقادیر را ایجاد کنید.
با استفاده از افزونههای کمکی مثل CMB2
همان طور که مشاهده کردید، ویرایشگر زمینههای دلخواه در وردپرس بسیار ساده است و تنها میتوانید در آن متن اضافه کنید. با استفاده از برخی افزونهها مثل CMB2 میتوانید فیلدهای تخصصیتر مثل فیلد تصویر، فیلد ویدئو، فیلد گالری تصویر و ... را به نوشتههای خود بیفزایید.
این افزونهها یک رابط کاربری آسانتر برای اضافه کردن زمینههای دلخواه در اختیار شما قرار میدهند و در حقیقت، اطلاعات با ساختار اصلی وردپرس در پایگاه داده ذخیره میشود.
درج زمینههای دلخواه توسط افزونهها به صورت صریح یا ضمنی
برخی از افزونههای وردپرس اطلاعاتی را به صورت زمینهی دلخواه در پایگاه داده وردپرس ذخیره میکنند. این افزونهها ممکن است فیلدهایی برای ویرایش در اختیار شما قرار بدهند یا ممکن است ویرایش زمینههای دلخواه را به صورت خودکار انجام دهند. مثلا تعداد بازدید هر نوشته، میتواند هنگام باز شدن صفحهی نوشته توسط کاربران به صورت خودکار افزایش پیدا کند.
نمایش زمینههای دلخواه در قالب سایت
زمینههای دلخواه در وردپرس به صورت پیشفرض در سایت دیده نمیشوند. چنانچه بخواهید هر یک از زمینههای دلخواه را در سایت به نمایش در آورید، این کار میبایست به صورت خاص در قالب وردپرس برنامهنویسی شود یا با استفاده از افزونههای مرتبط، کار نمایش به انجام برسد.
بسیاری از افزونههای وردپرس برای نگهداری اطلاعات مرتبط با نوشتهها از ویژگی «زمینه دلخواه» استفاده میکنند. مثلا یک افزونه ممکن است تعداد بازدیدهای یک نوشته را در زمینهی دلخواه آن نوشته نگهداری کند و تعداد بازدید را در صفحهی مربوط به نوشته نمایش دهد.
زمینههای دلخواه آرایهای و تکی
همانطور که گفته شد، زمینههای دلخواه میتوانند تکی یا به صورت آرایه باشند. پیش از نمایش زمینهی دلخواه میبایست بررسی کنید که مقدار مورد نظر شما کدام یک از حالتهای فوق را دارا است.
تابع دریافت زمینهی دلخواه
دریافت زمینهی دلخواه در قالب وردپرس با استفاده از تابع «get_post_meta» به انجام میرسد. این تابع سه پارامتر دریافت میکند:
- شناسه نوشته یا پست سفارشی
- نام زمینه دلخواه
- برگشت نتیجه به صورت تکی یا آرایه
برای مثال ما یک زمینهی دلخواه با نام «source» به نوشتهی خودمان اضافه میکنیم:
اکنون برای نمایش این مقدار در قالب از کد زیر در فایل مربوط به نوشته استفاده میکنیم:
1 2 3 4 5 6 7 8 9 |
<?php $source = get_post_meta( get_the_ID(), 'source', true ); if( $source ) { echo "<a href='{$source}'>منبع مقاله</a>"; } else { echo 'مقاله منبعی ندارد'; } ?> |
در قطعه کد بالا ابتدا با کمک تابع get_the_ID شناسهی نوشتهی فعلی را دریافت میکنیم و در پارامتر سوم هم با ارسال مقدار true، تعیین میکنیم که مقدار زمینهی دلخواه ما یک رشتهی ساده است( آرایه نیست ).
اگر پارامتر سوم مقداردهی نشود یا مقدار آن false تعیین شود، نتیجهی بازگشتی از تابع، یک آرایه خواهد بود و امکان چاپ آن با دستور echo وجود ندارد.
زمینههای دلخواه برای موجودیتهای دیگر وردپرس
علاوه بر پستها( نوشتهها ) موجودیتهای دیگر وردپرس( کامنت، دستهبندی، کاربر ) هم میتوانند زمینهی دلخواه داشته باشند. با این تفاوت که ویرایشگر پیشفرضی برای آنها وجود ندارد و برای این کار لازم است تا از افزونههای دیگری استفاده کنید.
نمایش زمینههای دلخواه موجودیتهای دیگر
تابع get_post_meta برای نمایش زمینههای دلخواه پستها( نوشتهها، برگهها و پستهای سفارشی ) کاربرد دارد و برای دریافت زمینهی دلخواه سایر موجودیتها در وردپرس( کامنت، کاربر، دستهبندی ) میبایست از تابع «get_metadata» استفاده کنیم. تفاوت این تابع، اضافه شدن پارامتر نوع متا در ابتدا است که میتواند یکی از مقادیر زیر را داشته باشد:
- comment
- post
- term
- user
1 |
get_metadata( $meta_type, $object_id, $meta_key = '', $single = false ) |
برای مثال جهت نمایش نام خانوادگی کاربر فعلی میتوانیم از کد زیر استفاده کنیم:
1 2 3 4 |
<?php $last_name = get_metadata( 'user', get_current_user_id(), 'last_name', true ); echo $last_name; ?> |
نمایش زمینههای ویژه برای کامنتها، کاربران و دستهبندیها با استفاده از توابع زیر هم امکانپذیر است:
وردپرس دارای توابع کمکی دیگری نیز جهت مدیریت و نمایش زمینههای دلخواه است که میتوانید در فهرست توابع وردپرس مشاهده نمایید.
سلام وقت بخیر
چطور میتونم یه فیلد سفارشی (لینک) درست کنم که هر بار کاربر روی این لینک کلیک کنه تعداد رو بهم نشون بده.
با سلام
این کار ابزار آمادهای ندارد و باید جزئیات را مشخص کنید تا برآورد زمان و هزینه برای انجام اعلام شود