افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields – ACF
در این مقاله قصد داریم شما رو با افزونه قدرتمند زمینه های دلخواه پیشرفته (Advanced Custom Fields) که به اختصار به آن افزونه ACF هم گفته می شود آشنا کنیم. این افزونه بدون شک یکی از بهترین و کاربردی ترین افزونه های وردپرس است. ما در وردپرس یک بخش مهم به اسم متاباکس و زمینه های سفارشی یا زمینه های دلخواه پیشرفته داریم که برای موارد مختلفی مورد استفاده قرار می گیرند.
- افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields یا ACF
- برخی از ویژگی های نسخه رایگان افزونه زمینه های دلخواه پیشرفته ACF
- آموزش استفاده از افزونه Advanced Custom Fields
- برچسب زمینه
- نام زمینه
- نوع زمینه
- تنظیمات مکان زمینه ها
متاباکس ها از مهمترین عوامل برای سفارشی سازی وب سایت هستند و در بین طراحان وردپرس از محبوبیت بالایی برخورداند. چرا که اغلب اوقات نیاز به اضافه کردن قسمت هایی به پست ها یا پست های سفارشی است که به طور پیشفرض در هسته وردپرس وجود ندارد و معمولا این اطلاعات اضافی به وسیله زمینه های دلخواه پیشرفته به بخش های مورد نیاز اضافه می شوند.
برای مثال ما قصد داریم که یک تصویر شاخص دوم به پست اضافه کنیم و یا یک قسمت برای اضافه کردن لینک های دانلود و بسیاری موارد دیگر، در این حالت با استفاده از متاباکس ها تغییرات مورد نظر خود را اعمال می کنیم.
اما متاباکس ها به طور پیشفرض از ظاهر خوبی برخودار نیستند و و سفارشی کردن یک متاباکس چه از لحاظ ظاهر و یا افزودن قابلیت نسبتا دشوار است. در اینجا ما به سراغ افزونه زمینه های دلخواه پیشرفته (Advanced Custom Fields) یا زمینه های سفارشی ACF می رویم.
افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields یا ACF
↑ما با استفاده از افزونه قدرتمند زمینه های دلخواه پیشرفته بدون نیاز به کدنویسی قادر به ایجاد بی نهایت متاباکس مختلف و افزودن ویژگی های جدید و لازم به وردپرس خواهیم بود. به کمک افزونه ACF متاباکس ها از ظاهر به مراتب بهتری برخودارند و سرعت سفارشی سازی متاباکس و مقادیر وارد شده چندین برابر می شود.
افزونه Advanced Custom Fields یا زمینه های دلخواه پیشرفته در نسخه های تجاری و رایگان منتشر شده که نسخه تجاری نسبت به نسخه رایگان از قابلیت های بیشتری برخوردار بوده، اما خوشبختانه نسخه رایگان افزونه ACF نیز تمام نیاز ما را براورده می کند. و شاید بیان این موضوع خالی از لطف نباشد که هیچ نیازی به استفاده از محصولات نال شده مواجه شدن با عواقب استفاده از یک محصول بی اعتبار و مخرب نیست.
با توجه با قابلیت هایی که در نسخه رایگان افزونه Advanced Custom Fields وجود دارد سایت شما 90٪ به نسخه تجاری بی نیاز است. تفاوت زمینه های دلخواه پیشفرض وردپرس و زمینه های دلخواه با استفاده از افزونه Advanced Custom Fields در عکس های زیر کاملا مشخص است.
برخی از ویژگی های نسخه رایگان افزونه زمینه های دلخواه پیشرفته ACF
↑- ایجاد زمینه متنی
- ایجاد زمینه تک خطی و چند خطی
- ایجاد زمینه متنی همراه با ویرایشگر دیداری WYSIWYG
- این زمینه قابلیت آپلود رسانه را دارد
- ایجاد زمینه عددی برای وارد کردن اعداد صحیح
- ایجاد زمینه گزینه های صحیح و غلط
- ایجاد زمینه دکمه رادیویی
- ایجاد زمینه چک باکس
- ایجاد زمینه نقشه گوگل
- ایجاد زمینه های بارگذاری «بارگذاری عکس، ویدیو و فایل»
- ایجاد زمینه انتخاب رنگ
- ایجاد زمینه نتخاب تاریخ و زمان
- و بسیاری موارد متنوع دیگر
لازم به ذکر است که تمامی زمینه ها در افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields قابل شرطی سازی بوده و در انواع پست های سفارشی « Custom Post Type » قابل استفاده هستند. برای مثال شما می توانید تعیین کنید که گروه زمینه ایجاد شده فقط در برگه های سایت نمایش داده شود، و یا فقط هنگامی که یک دسته بندی خاص انتخاب شد نمایش داده شود. سپس داده ها در بخش مدیریت پست وارد شده و پس از ذخیره سازی با روشی ساده تر از نمایش متاباکس ها به کاربران نمایش داده می شوند.

آموزش استفاده از افزونه Advanced Custom Fields
↑استفاده از افزونه زمینه های دلخواه پیشرفته « ACF » بسیار ساده بوده ولی ما در همگام وب قصد داریم تا آموزش کامل استفاده از این افزونه محبوب و قدرتمند را در اختیار کاربران قرار دهیم، در این سری از آموزش های همگام وب با تمامی فیلدها یا زمینه های قابل استفاده در نسخه رایگان به طور کامل آشنا می شوید. همچنین با نحوه استفاده از هر فیلد با شرح کد و عکس مربوط به هر زمینه، دیگر هیچ مشکلی در استفاده از افزونه قدرتمند Advanced Custom Fields نخواهید داشت.
پس از نصب و فعال کردن افزونه زمینه های دلخواه پیشرفته ACF یک بخش جدید به نام زمینه های سفارشی به منو پیشخوان وردپرس اضافه می شود. افزونه زمینه های دلخواه پیشرفته برای متصل کردن فیلد های زمینه خود به پست ها از گروه های زمینه استفاده می کند.
گروه های زمینه به دسته بندی فیلد های شما هم کمک می کند و در آینده در صورتی که زمینه های زیادی داشته باشید و قصد ویرایش برخی از زمینه ها را داشته باشید مشکلی در پیدا کردن زمینه نخواهید داشت. با کلیک بر روی زمینه های سفارشی در پیشخوان وارد بخش گروه های زمینه افزونه می شویم. و تنها کاری که نیاز به انجام آن است کلیک بر رو دکمه افزودن است تا اولین گروه زمینه ما ایجاد شود.
در این قسمت ابتدا یک نام برای گروه زمینه خود انتخاب میکنیم و سپس بر روی افزودن زمینه کلیک میکنیم، در این قسمت گزینه هایی چون موارد زیر را مشاهده میکنیم که موارد لازم را به صورت مختصر توضیح داده ایم. یک گروه زمینه می تواند دارای چندین زمینه از انواع مختلف زمینه باشد.
تنظیمات زمینه های دلخواه در افزونه ACF ( Setting )
برچسب زمینه
↑این فیلد نام نمایشی زمینه شما در بخش مدیریت پست است
نام زمینه
↑این فیلد نام زمینه دلخواه شما است که برای فراخوانی و نمایش زمینه از این نام استفاده می شود. نام زمینه باید یک کلمه باشد و بدون فاصله تایپ شود و با استفاده از حروف صحیح تایپ شود استفاده از زیر خط _
و خط تیره -
در بین حروف مجاز است. برای مثال
آموزش خصوصی طراحی سایت و وردپرس به صورت آنلاین
پروژه محور - ارتباط مستقیم با مدرس
phone_number_hamgamweb
نوع زمینه
↑در این بخش شما نوع زمینه خود را انتخاب می کنید.
سایر گزینه ها برای هر نوع زمینه متفاوت هستند و در بخش آموزش های افزونه Advanced Custom Fields برای هر نوع زمینه توضیح داده شده اند.
تنظیمات مکان زمینه ها
↑مورد بعدی تنظیمات مکان افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields است، در این بخش شما مشخص می کنید که گروه زمینه شما در چه قسمتی نمایش داده شود برای مثال نوع نوشته برابر شود با نوشته گروه زمینه را فقط برای نوشته های ما فعال می کند. در این بخش ما قادر به تنظیماتی چون نمایش برای دسته ای خاص و یا نمایش ندادن فقط برای یک دسته نیز هستیم. بخش بعدی نیز مرتبط با تنظیمات ظاهری گروه زمینه در افزونه Advanced Custom Fields است که به مرور با تمامی گزینه ها آشنا خواهیم شد.
نمایش زمینه ها در افزونه زمینه های دلخواه پیشرفته ACF در قالب
↑ما پس از ذخیره کردن گروه زمینه یک بخش جدید به قسمت ویرایش و ارسال پست یا برگه های ما اضافه شده که ما مقدار مورد نظر خود را بسته به فیلدی که ایجاد کرده ایم وارد می کنیم، در اینجا فیلد پیشفرض ما زمینه متنی بوده برای مثال کلمه همگام وب را در فیلد مورد نظر وارد کرده و پست یا برگه مورد نظر را ذخیره می کنیم.
مرحله بعدی نمایش مقدار ورودی است برای نمایش ما نیاز به ویرایش فایلی که مطلب ما در آن نمایش داده می شود داریم در این بخش مثال ما نوشته های سایت بوده که بسته به نوع قالب شما ممکن است فایل single.php
و یا singular.php
باشد.
برای نمایش زمینه باید تابع مورد نظر را داخل حلقه قرار دهیم. فراخوانی زمینه در افزونه Advanced Custom Field همیشه با the_field('نام زمینه');
انجام می شود. البته می توان از تابع پیشفرض وردپرس یعنی get_post_meta();
نیز استفاده کرد مثال زیر نحوه کامل فراخوانی زمینه ما رو نمایش می دهد.
<?php
while (have_posts()) : the_post();
the_title();
the_content();
the_field('phone_number_hamgamweb');
endwhile;
?>
توجه داشته باشید که تابع the_field('phone_number_hamgamweb');
را در هر قسمتی از فایل ویرایش شده قرار دهیم مقدار ورودی زمینه در آن مکان نمایش داده می شود.
[acf field="phone_number_hamgamweb"]
برای نمایش زمینه ما حتی از شرتکد هم میتوانیم استفاده کنیم که مطمئنا استفاده از شرتکد در بسیاری از موارد می تواند مفید واقع شود طریقه استفاده از شرت کد به شکل زیر است
پس برای نمایش زمینه ما از the_field('phone_number_hamgamweb');
استفاده می کنیم، اما برای ذخیره مقدار برگشتی در یک متغیر چطور؟
برای مثال گاهی اوقات نیاز است از یک دستور شرطی برای نمایش زمینه استفاده کرد تا اگر زمینه های دلخواه پیشرفته ما مقداری نداشتند یک محتوای جایگزین را نمایش دهد. در این حالت ما به جای استفاده از تابع the_field
از get_field
استفاده میکنیم، به مثال زیر توجه کنید
<?php
$PhoneNumber = get_field('phone_number_hamgamweb');
if( $PhoneNumber ){
echo '<p>' . get_field('phone_number_hamgamweb') . '</p>';
}else{
echo '<p>مقداری وارد نشده است</p>';
}
?>
یا
<?php
$PhoneNumber = get_field('phone_number_hamgamweb');
if( $PhoneNumber ) {
echo '<p>' . $PhoneNumber . '</p>';
}else{
echo '<p>مقداری وارد نشده است</p>';
}
?>
که البته هر دو مورد نتیجه یکسانی دارند.
زمینه های افزونه Advanced Custom Fields
↑دریافت افزونه زمینه های دلخواه پیشرفته ACF از مخزن وردپرس
↑لازم به زکر است که شما از طریق تگ ACF Field Type نیز قادر به مشاهده تمامی زمینه ها هستید.
خدمات طراحی سایت
طراحی سایت مطابق با استانداردهای روز برنامهنویسی، به همراه آموزش استفاده و ۶ ماه پشتیبانی رایگان
سلام
مثلا میخوام انتهای صفحات دسته بندی یک باکس ایجاد کنم که بتونم داخلش محتوا(متن و لینک ) قرار بدم میشه برای اون قسمتی که باید کدنویسی کنم راهنمایی کنید.
ممنون
سلام
taxonomy
بسته به قالب شما می تونه فایلindex.php
,archive.php
,category.php
و … باشهاگر قصد دارید مقدار زمینه یک نوشته یا برگه رو داخل دسته بندی نمایش بدید باید از این کد استفاده کنید
سلام من هم همین مشکل دوستمون رو دارم و داخل قالب وودمارت میخوام در دسته بندی ها یک باکس متن داشته باشم البته از نوع ویرایشگر متن
توی وودمارت باید کد های مورد نظر رو برای نمایش در مسیر woodmart/woocommerce/archive-product.php
قرار بدیم ولی کدی که دادین رو من با ای دی فیلدی که ساختم ست کردم ولی کار نمیکنه
سلام
ایشون فقط میخواستن یه بخشی به آخر دسته بندی ها اضافه بشه
کد قبلی مناسب قرار دادن اطلاعات زمینه ACF یک پست خارج از حلقه و در هر مکانی هست
اگر میخواید یک زمینه به خود دسته بندی اضافه کنید
در قسمت قوانین زمینه نمایش این گروه زمینه اگر رو برابر با دسته بندی مورد نظر قرار بدید
برای نمایش هم باید به این شکل استفاده کنید
بسته به نوع زمینه، خروجی متفاوت هست
میتونید برای اطلاعات بیشتر از خروجی یه
var_dump()
بگیرید:با سلام
من داخل ویرایش محصولم یه باکسی اضافه کردم
تعداد موجودی انبار یک تعداد موجودی انبار دو
حالا میخوام تو بخش سفارشاتم همون باکس بیاد و تعداد موجودی اون محصول سفارش خورده رو از باکس داخل هر محصول بخونه
چجوری میتونم مقدار داخل هرباکس هرمحصول رو پاس بدم به سفارشات
که بتونیم موقع تکمیل سفارش از یه انبار کم کنیم
ممنون
سلام
باید کدنویسی بشه
از طریق کامنت ها نمیشه کمکی کرد
بنده 5 فیلد متنی داخل ACF ایجاد کردم و به یک دسته خاص از نوشته هام اختصاص دادم و فیلد های مربوطه در صفحه نوشته ایجاد شده و مقادیر رو واردش کردم .
قضیه از این قراره که میخوام برای ظاهر کارت های اون دسته خاص مثلا نمونه کار ها قالب اختصاصی طراحی کنم و با کاروسل داینامیک المنت پک اونا رو فراخونی کنم حالا
مشکل اینجاست که در المنتور با استفاده از برچسب های تیتر ، قسمت ACF و فیلد مورد نظر انتخاب میکنم اما اون مقداری که داخل صفحه نوشته هام وارد کردم نمایش داده نمیشه
نیاز به راهنمایی دارم دوستان اگر کسی راه حلی بلده یه دنیا ممنونش میشم با منم به اشتراک بزاره
سلام و درود، ممنونم از محتوای خوبتون، من قالب فلت سام رو روی وردپرسم نصب کردم و میخوام که با کمک زمینه های دلخواه بدون کدنویسی محتوای دسته بندی محصولم رو زیر دسته بندی مربوطه قرار دهم چیکار باید بکنم و این کار امکان ذیر هستش؟
سلام
برای استفاده از ACF در Elementor ویدیو زیر رو ببینید.