تلفن تماس

02191097212

ساعت کاری

9 تا 17 هر روز هفته

سبد خرید فروشگاه

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

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

فهرست مطالب آموزش ایجاد پست پیشرفته با استفاده از انواع پست شخص ثالث در گرویتی فرمز

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

توجه: برای خرید افزونه گرویتی فرمز اینجا کلیک کنید.

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

معرفی مقاله:

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

این افزونه در ویژگی‌ های پیشرفته‌ اش برتری دارد. و به منطق شرطی اجازه می‌ دهد تا فرم ‌های پویا را ایجاد کند که با ورودی ‌های کاربر سازگار است. علاوه بر این، به طور یکپارچه با خدمات محبوب شخص ثالث، مانند درگاه های پرداخت، ابزار های بازاریابی ایمیلی، و سیستم های (CRM) ادغام می شود و عملکرد آن را افزایش می دهد. این افزونه همچنین از فرم های چند صفحه ای، حفاظت از هرز نامه و مدیریت ورود فرم پشتیبانی می کند.

خلاصه مقاله:

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

توجه: این مقاله فرض می ‌کند که شما قبلاً افزونه ‌های لازم را نصب و فعال کرده ‌اید. اگر هنوز این کار را انجام نداده ‌اید، قبل از اینکه بتوانید از مطالب این مقاله استفاده کنید، باید افزونه ‌ها را نصب و فعال کنید.

ایجاد محصولات برای ووکامرس توسط ایجاد پست پیشرفته

ایجاد فرم

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

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

ایجاد فید ایجاد پست پیشرفته

برای جزئیات بیشتر در مورد نحوه ایجاد فید، مقاله “ایجاد یک فید برای افزودنی ایجاد پست پیشرفته را مرور کنید.

سپس منوی کشویی نوع را در بخش تنظیمات پست باز کنید و محصول مورد نظر را انتخاب کنید.

ایجاد فید ایجاد پست پیشرفته
ایجاد فید ایجاد پست پیشرفته

سپس به بخش ارسال محتوا بروید و عنوان را در قسمت نام محصول قرار دهید.

محتوا را در قسمت توضیحات جای گذاری کنید.

تصویر ویژه را به فیلد آپلود فایل با برچسب (Image) جای گذاری کنید. اگر فیلد بار گذاری فایل در فرم شما وجود نداشته باشد، این فیلد در تنظیمات ایجاد پست ظاهر نمی شود.

جای گذاری تصویر در قسمت افلود فایل در گرویتی فرمز
جای گذاری تصویر در قسمت افلود فایل در گرویتی فرمز

اکنون بر روی ذخیره تنظیمات کلیک کنید.

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

مدیریت فیلد ها قابل نقشه برداری نیستند

شما نمی‌توانید همه فیلدهای مورد نیاز برای یک محصول را مستقیماً در فید قرار دهید. برای به ‌روز رسانی قیمت و دسته ‌بندی محصول، از فیلتر اقدام (gform_advancedpostcreation_post_after_creation) استفاده می ‌شود. برخی از فیلد های محصول نیاز به بررسی خاص دارند و در زیر نمونه‌ هایی از این فیلد ها آورده شده. به زبان ساده‌ تر، برخی از جزئیات محصول را نمی ‌توانید مستقیماً وارد کنید و باید از ابزار خاصی برای به‌ روز رسانی آن‌ ها استفاده کنید.

قیمت

اطلاعات قیمت در جدول (wp_post_meta) ذخیره می شود و از تابع (update_post_meta()) برای ذخیره این اطلاعات استفاده می شود.

دسته بندی محصول

دسته محصول از چندین جدول رده ‌بندی وردپرس و پایگاه اطلاعات استفاده می ‌کند و از تابع (wp_set_object_terms()) برای ذخیره این اطلاعات استفاده می ‌شود.

مثال زیر قیمت را با استفاده از مقدار ذخیره شده در فیلد (7) ورودی به روز می کند. رده بندی با استفاده از مقدار ذخیره شده در فیلد (6) ورودی به روز می شود.

add_action( 'gform_advancedpostcreation_post_after_creation', 'update_product_information', 10, 4 );
function update_product_information( $post_id, $feed, $entry, $form ){

//update the prices set for the product
update_post_meta( $post_id, '_regular_price', $entry['7'] );
update_post_meta( $post_id, '_price', $entry['7'] );

//update the category
wp_set_object_terms( $post_id, $entry['6'], 'product_cat' );

}

پر کردن منوی کشویی با دسته بندی محصولات

لطفا توجه کنید: این مثال فرض می ‌کند که دسته ‌بندی ‌های محصول شما فرزند ندارند. اگر دسته ‌بندی ‌های فرزند دارید، شاید باید مثال را تغییر دهید. به زبان ساده ‌تر، اگر محصولات شما زیر مجموعه ‌هایی دارند، باید این مثال را برای مناسب کردن با نیاز های خود تغییر دهید.

برای پر کردن یک فیلد کشویی، شما به چندین فیلتر نیاز دارید. فیلتر هایی که معمولاً استفاده می ‌شوند عبارتند از:

  • gform_pre_render
  • gform_pre_submission_filter
  • gform_admin_pre_render
  • gform_pre_validation

این فیلتر ها به شما کمک می ‌کنند تا فیلد کشویی را با اطلاعات مورد نیاز خود پر کنید.

add_filter( 'gform_pre_render_83', 'populate_dropdown_with_product_categories' );
add_filter( 'gform_pre_submission_filter_83', 'populate_dropdown_with_product_categories' );
add_filter( 'gform_admin_pre_render_83', 'populate_dropdown_with_product_categories' );
add_filter( 'gform_pre_validation_83', 'populate_dropdown_with_product_categories' );
function populate_dropdown_with_product_categories( $form ) {
//product_cat is the taxonomy for WooCommerce's products
//get the terms for the product_cat taxonomy
$product_categories = get_terms( 'product_cat' );

//Creating drop down item array.
$items = array();

//Adding initial blank value.
$items[] = array( 'text' => '', 'value' => '' );

//Adding product category terms to the items array
foreach ( $product_categories as $product_category ) {
$items[] = array( 'value' => $product_category->name, 'text' => $product_category->name );
}

//Adding items to field id 6. Replace 6 with your actual field id. You can get the field id by looking at the input name in the markup.
foreach ( $form['fields'] as &$field ) {
if ( $field->id == 6 ) {
$field->choices = $items;
}
}

return $form;
}

ایجاد رویداد ها برای تقویم رویداد ها

ایجاد فرم

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

براب این منظور یک فرم جدید ایجاد کنید و فیلد های زیر را در آن اضافه کنید.

نوع فیلد برچسب تنظیمات دیگر
لیست بازشو دسته بندی برای جزئیات بیشتر به پر کردن کرکره با دسته‌ های رویداد در زیر مراجعه کنید.
متن تک خطی عنوان رویداد
متن پاراگرافی توضیحات رویداد
چک باکس ها ویژگی های رویداد انتخاب ها: تمام روز، پنهان سازی از لیست رویداد ها، چسبنده در نمای ماه، رویداد ویژه
تاریخ تاریخ شروع
زمان زمان شروع منطق شرطی: اگر گزینه‌ های رویداد تمام روز نباشد، فیلد را نشان دهید.
تاریخ تاریخ پایان
زمان زمان پایان منطق شرطی: اگر گزینه‌ های رویداد تمام روز نباشد، فیلد را نشان دهید.

ایجاد فید ایجاد پست پیشرفته

منوی کشویی نوع را در قسمت “تنظیمات پست” باز کنید و رویداد مورد نظر را انتخاب کنید.

ایجاد فید ایجاد پست پیشرفته در گرویتی فرمز
ایجاد فید ایجاد پست پیشرفته در گرویتی فرمز

سپس به بخش محتوای پست بروید و عنوان را در قسمت عنوان رویداد جای گذاری کنید.

محتوا را در قسمت توضیحات رویداد قرار دهید.

در قسمت “فیلد های سفارشی”، به پایین منوی کشویی “انتخاب نام فیلد سفارشی” بروید و نام فیلد سفارشی “تاریخ شروع رویداد” را وارد کنید. این فیلد را به قسمت “تاریخ شروع” در فرم خود اضافه کنید. سپس همین کار را برای فیلد سفارشی “تاریخ پایان رویداد” تکرار کنید و آن را به قسمت “تاریخ پایان” در فرم خود اضافه کنید. به عبارت دیگر شما دو فیلد جدید به فرم خود اضافه می ‌کنید که یکی تاریخ شروع رویداد و دیگری تاریخ پایان رویداد را نشان می ‌دهد.

(جای گذاری فیلد های سفارشی برای تاریخ شروع رویداد و تاریخ پایان رویداد.)
(جای گذاری فیلد های سفارشی برای تاریخ شروع رویداد و تاریخ پایان رویداد.)

سپس به قسمتی که “طبقه بندی ها” نوشته شده می‌ ریم. که اونجا دسته ‌های مختلف رویداد ها رو می ‌بینیم. حالا می‌خوایم این دسته ‌ها رو به یک فیلد ارزش و دسته متصل کنیم. این کار به ما کمک می‌کنه تا رویداد ها رو بهتر مدیریت کنیم.

زمینه طبقه بندی نقشه برداری ها برای دسته رویداد
زمینه طبقه بندی نقشه برداری ها برای دسته رویداد

سپس بر روی ذخیره تنظیمات کلیک کنید.

مدیریت فیلد ها قابل نقشه برداری نیستند

همه فیلد هایی که برای یک رویداد نیاز داریم رو نمی ‌تونیم مستقیماً به فید متصل کنیم. برای به ‌روز رسانی این فیلد ها، از یک فیلتر اقدام به نام (gform_advancedpostcreation_post_after_creation) استفاده می‌ کنیم. چندین فیلد هستند که باید به‌ طور خاص بررسی بشوند. این کار کمی فنی است ولی در عمل کار را برای مدیریت رویداد ها آسان ‌تر می‌ کند.

add_action( 'gform_advancedpostcreation_post_after_creation', 'update_event_information', 10, 4 );
function update_event_information( $post_id, $feed, $entry, $form ){
//update the All Day setting
$all_day = $entry['9.1'];
if ( $all_day == 'All Day' ){
update_post_meta( $post_id, '_EventAllDay', 'yes');
}

//update the Hide From Monthly View Setting
$hide = $entry['9.2'];
if ( $hide == 'Hide From Event Listings') {
update_post_meta( $post_id, '_EventHideFromUpcoming', 'yes' );
}

//update the Sticky in Month View setting
$sticky = $entry['9.3'];
if ( $sticky == 'Sticky in Month View' ){
wp_update_post(array( 'ID' => $post_id, 'menu_order' => '-1' ) );
}
else{
wp_update_post(array( 'ID' => $post_id, 'menu_order' => '0' ) );
}

//update the Feature Event setting
$feature = $entry['9.4'];
if ( $feature == 'Feature Event'){
update_post_meta( $post_id, '_tribe_featured', '1');
}
else{
update_post_meta( $post_id, '_tribe_featured', '0');
}
}

پر کردن نوار کرکره ای با دسته‌ های رویداد

برای پر کردن نوار کشویی با دسته ‌های رویداد، باید از چندین فیلتر استفاده کنیم. فیلتر هایی که باید استفاده کنیم عبارتند از:

  • gform_pre_render
  • gform_pre_submission_filter
  • gform_admin_pre_render
  • gform_pre_validation

این فیلتر ها کمک می‌ کنند تا نوار کشویی رو به درستی پر کنیم.

//target form 80 (change to your form id)
add_filter( 'gform_pre_render_80', 'populate_dropdown_with_event_categories' );
add_filter( 'gform_pre_submission_filter_80', 'populate_dropdown_with_event_categories' );
add_filter( 'gform_admin_pre_render_80', 'populate_dropdown_with_event_categories' );
add_filter( 'gform_pre_validation_80', 'populate_dropdown_with_event_categories' );
function populate_dropdown_with_event_categories( $form ) {

$event_categories = get_terms( array('taxonomy'=>'tribe_events_cat','hide_empty'=>0 ) );
//Creating drop down item array.
$items = array();

//Adding initial blank value.
$items[] = array( 'text' => '', 'value' => '' );

//Adding product category terms to the items array
foreach ( $event_categories as $event_category ) {
$items[] = array( 'value' => $event_category->name, 'text' => $event_category->name );
}

//Adding items to field id 10. Replace 10 with your actual field id. You can get the field id by looking at the input name in the markup.
foreach ( $form['fields'] as &$field ) {
if ( $field->id == 10 ) {
$field->choices = $items;
}
}

return $form;
}

تطبیق تصاویر با فیلدهای سفارشی پیشرفته (ACF) یا سایر فیلد های سفارشی

وقتی تصاویری رو در فیلدهای سفارشی ذخیره می‌کنیم، این تصاویر با یک شناسه (یا چندین شناسه) که به تصویری در کتابخانه رسانه مرتبط هستند، در قسمت متای پست سفارشی ثبت می‌شوند. برای اینکه بتونیم یک فیلد سفارشی تصویر رو به درستی به یک فیلد آپلودی که از Gravity Forms اضافه کردیم متصل کنیم، باید از یک تگ ادغام به نام {apc_media} استفاده کنیم. این تگ در قسمت نگاشت فیلد سفارشی برای فید ایجاد پست پیشرفته استفاده می‌شود.

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

مطمئن شوید که تصویری که می‌خواهید در فیلد قرار بدهید، در کتابخانه رسانه کپی شده باشد. اگر این کار را انجام ندهید، نمی‌توانید تصویر را به درستی به فیلد سفارشی متصل کنید. وقتی یک فیلد تصویر را به عنوان یک فیلد آپلود فایل اضافه می‌کنید، می‌توانید تصویر را در کتابخانه رسانه کپی کنید. این کار باعث می‌شود که فیلد شما دارای یک شناسه پست باشد که همان «شناسه تصویر» در ACF و سایر افزونه‌های فیلد سفارشی است.

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

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

  1. اول از همه، به قسمتی که “فیلد های سفارشی” نوشته شده می ‌رید و یک نقشه فیلد برای فیلد تصویر خود ایجاد می‌ کنید. بعد از اون، نام فیلدی رو که می ‌خواهید زیر نام انتخاب کنید.
  2. در قسمت “ارزش”، گزینه ‌ای رو که “اضافه کردن یک ارزش سفارشی” نوشته شده رو انتخاب می ‌کنید. بعد از اون، از ابزار ” برچسب ادغام” برای انتخاب فیلد تصویر خود استفاده می ‌کنید و برچسب ادغام اون رو در قسمت “ارزش” قرار می ‌دهید.
  3. بعد از اون، “نام فیلد” رو در برچسب ادغام با عمل “apc_media” جایگزین می‌ کنید. در نهایت، شناسه ‌ها یا آدرس ‌های اینترنتی رو به عنوان نوع بازگشتی به انتهای برچسب تصویر خود اضافه می‌ کنید. این کار باعث می‌ شه که فیلد تصویر به درستی به فیلد سفارشی متصل بشه.
جای گذاری فیلد تصویر را در فیلد سفارشی در گرویتی فرمز
جای گذاری فیلد تصویر را در فیلد سفارشی در گرویتی فرمز
پیمایش به بالا

%70 تخفیف کلیه محصولات به مدت محدود

ساعت
دقیقه
ثانیه