افزونه Advanced Custom Fields

افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields – ACF

در این مقاله قصد داریم شما رو با افزونه قدرتمند زمینه های دلخواه پیشرفته (Advanced Custom Fields) که به اختصار به آن افزونه ACF هم گفته می شود آشنا کنیم. این افزونه بدون شک یکی از بهترین و کاربردی ترین افزونه های وردپرس است. ما در وردپرس یک بخش مهم به اسم متاباکس و زمینه های سفارشی یا زمینه های دلخواه پیشرفته داریم که برای موارد مختلفی مورد استفاده قرار می گیرند.

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

برای مثال ما قصد داریم که یک تصویر شاخص دوم به پست اضافه کنیم و یا یک قسمت برای اضافه کردن لینک های دانلود و بسیاری موارد دیگر، در این حالت با استفاده از متاباکس ها تغییرات مورد نظر خود را اعمال می کنیم.

اما متاباکس ها به طور پیشفرض از ظاهر خوبی برخودار نیستند و و سفارشی کردن یک متاباکس چه از لحاظ ظاهر و یا افزودن قابلیت نسبتا دشوار است. در اینجا ما به سراغ افزونه زمینه های دلخواه پیشرفته (Advanced Custom Fields) یا زمینه های سفارشی ACF می رویم.

افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields یا ACF

ما با استفاده از افزونه قدرتمند زمینه های دلخواه پیشرفته بدون نیاز به کدنویسی قادر به ایجاد بی نهایت متاباکس مختلف و افزودن ویژگی های جدید و لازم به وردپرس خواهیم بود. به کمک افزونه ACF متاباکس ها از ظاهر به مراتب بهتری برخودارند و سرعت سفارشی سازی متاباکس و مقادیر وارد شده چندین برابر می شود.

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

با توجه با قابلیت هایی که در نسخه رایگان افزونه Advanced Custom Fields وجود دارد سایت شما 90٪ به نسخه تجاری بی نیاز است. تفاوت زمینه های دلخواه پیشفرض وردپرس و زمینه های دلخواه با استفاده از افزونه Advanced Custom Fields در عکس های زیر کاملا مشخص است.

زمینه دلخواه با advanced Custom Fields
زمینه دلخواه بدون استفاده از advanced Custom Fields

برخی از ویژگی های نسخه رایگان افزونه زمینه های دلخواه پیشرفته ACF

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

لازم به ذکر است که تمامی زمینه ها در افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields قابل شرطی سازی بوده و در انواع پست های سفارشی « Custom Post Type » قابل استفاده هستند. برای مثال شما می توانید تعیین کنید که گروه زمینه ایجاد شده فقط در برگه های سایت نمایش داده شود، و یا فقط هنگامی که یک دسته بندی خاص انتخاب شد نمایش داده شود. سپس داده ها در بخش مدیریت پست وارد شده و پس از ذخیره سازی با روشی ساده تر از نمایش متاباکس ها به کاربران نمایش داده می شوند.

افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields
زمینه های دلخواه پیشرفته

آموزش استفاده از افزونه Advanced Custom Fields

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

پس از نصب و فعال کردن افزونه زمینه های دلخواه پیشرفته ACF یک بخش جدید به نام زمینه های سفارشی به منو پیشخوان وردپرس اضافه می شود. افزونه زمینه های دلخواه پیشرفته برای متصل کردن فیلد های زمینه خود به پست ها از گروه های زمینه استفاده می کند.

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

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

گروه زمینه در افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields
گروه زمینه در افزونه زمینه های دلخواه پیشرفته Advanced Custom Fields

تنظیمات زمینه های دلخواه در افزونه 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 Image
Image
زمینه دلخواه محدوده - ACF Range
Range
زمینه دلخواه متن چند خطی
Textarea
زمینه دلخواه متن - ACF Text Field
Text Field
زمینه دلخواه انتخاب ACF Select
Select
زمینه دلخواه oEmbed
oEmbed
زمینه دلخواه ویرایشگر دیداری
Wysiwyg Editor
زمینه دلخواه آپلود فایل یا پرونده - ACF File
File
زمینه دلخواه صحیح یا غلط
True/False
دکمه ها در بخش گروه زمینه
Button Group
زمینه دلخواه Radio Button یا دکمه رادیویی
Radio Button
زمینه دلخواه checkbox - افزونه acf
Checkbox
زمینه دلخواه ارتباط ACF Relationship
Relationship
زمینه دلخواه آبجکت یک نوشته ACF Post Object
Post Object
زمینه دلخواه لینک مطالب
Page Link
زمینه دلخواه لینک - ACF Link
Link
زمینه دلخواه انتخاب تاریخ و زمان ACF Date Time Picker
Date Time Picker
زمینه دلخواه نقشه گوگل ACF Google Map
Google Map
زمینه دلخواه کاربر ACF User
User
زمینه دلخواه طبقه بندی
Taxonomy
زمینه دلخواه گروه - ACF Field Group
Field Group
زمینه دلخواه تب ACF Tab
Tab
زمینه دلخواه آکاردئونی - ACF Accordion
Accordion
زمینه دلخواه انتخاب رنگ ACF Color Picker
Color Picker

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

لازم به زکر است که شما از طریق تگ ACF Field Type نیز قادر به مشاهده تمامی زمینه ها هستید.

خدمات طراحی سایت

طراحی سایت مطابق با استانداردهای روز برنامه‌نویسی، به همراه آموزش استفاده و ۶ ماه پشتیبانی رایگان

9 Comments

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

  • سلام
    taxonomy بسته به قالب شما می تونه فایل index.php, archive.php, category.php و … باشه
    اگر قصد دارید مقدار زمینه یک نوشته یا برگه رو داخل دسته بندی نمایش بدید باید از این کد استفاده کنید

    // get_field('field_name', $page_id);
    echo get_field('custom_excerpt', 10);
    
    

سلام من هم همین مشکل دوستمون رو دارم و داخل قالب وودمارت میخوام در دسته بندی ها یک باکس متن داشته باشم البته از نوع ویرایشگر متن
توی وودمارت باید کد های مورد نظر رو برای نمایش در مسیر woodmart/woocommerce/archive-product.php
قرار بدیم ولی کدی که دادین رو من با ای دی فیلدی که ساختم ست کردم ولی کار نمیکنه

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

    $term = get_queried_object();
    echo get_field('custom_excerpt', $term);
    
    

    بسته به نوع زمینه، خروجی متفاوت هست
    میتونید برای اطلاعات بیشتر از خروجی یه var_dump() بگیرید:

    $term = get_queried_object();
    var_dump(get_field('custom_excerpt', $term));
    
    

با سلام
من داخل ویرایش محصولم یه باکسی اضافه کردم
تعداد موجودی انبار یک تعداد موجودی انبار دو
حالا میخوام تو بخش سفارشاتم همون باکس بیاد و تعداد موجودی اون محصول سفارش خورده رو از باکس داخل هر محصول بخونه

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

بنده 5 فیلد متنی داخل ACF ایجاد کردم و به یک دسته خاص از نوشته هام اختصاص دادم و فیلد های مربوطه در صفحه نوشته ایجاد شده و مقادیر رو واردش کردم .

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

مشکل اینجاست که در المنتور با استفاده از برچسب های تیتر ، قسمت ACF و فیلد مورد نظر انتخاب میکنم اما اون مقداری که داخل صفحه نوشته هام وارد کردم نمایش داده نمیشه

نیاز به راهنمایی دارم دوستان اگر کسی راه حلی بلده یه دنیا ممنونش میشم با منم به اشتراک بزاره

سلام و درود، ممنونم از محتوای خوبتون، من قالب فلت سام رو روی وردپرسم نصب کردم و میخوام که با کمک زمینه های دلخواه بدون کدنویسی محتوای دسته بندی محصولم رو زیر دسته بندی مربوطه قرار دهم چیکار باید بکنم و این کار امکان ذیر هستش؟

سلام
برای استفاده از ACF در Elementor ویدیو زیر رو ببینید.