آموزش اتصال وردپرس به گوگل شیت برای ذخیره فرم‌ها

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

چرا دیتاهای وردپرس رو در گوگل شیت ذخیره کنیم

به طور خلاصه ذخیره فرم‌ها در گوگل شیت این سه مزیت رو داره:

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

آموزش ذخیره اتوماتیک فرم‌های پر شده‌ی وردپرس در گوگل شیت

مرحله 1. آماده کردن گوگل شیت

یک گوگل شیت جدید باز کنید و از منوی Extensions گزینه Apps Script رو انتخاب کنید.
حالا تمام کدهای ادیتور رو پاک کنید و کد زیر رو توش کپی و پیست کنید.

function doPost(e) {
  var sheetName = "Email log";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(sheetName);
  
  // Create sheet if it doesn't exist
  if (!sheet) {
    sheet = ss.insertSheet(sheetName);
    sheet.appendRow(["email", "date", "time"]);
  }
  
  // Parse the incoming request
  var data = JSON.parse(e.postData.contents);
  var emailBody = data.email_body;
  var date = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyy-MM-dd");
  var time = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "HH:mm:ss");
  
  // Append the data to the sheet
  sheet.appendRow([emailBody, date, time]);
  
  return "ok";
}

اسکریپت رو ذخیره کنید، دکمه Deploy و بعدش New deployment رو بزنید.

تو پنجره New deployment روی علامت چرخدنده⚙️ کلیک کنید و Web app را انتخاب کنید، بعد یک توضیح برای این وب اپ بنویسید و روی دکمه Deploy کلیک کنید.

چون دفعه اوله که این وب اپ را ساختید گوگل از شما میخواد که اجازه دسترسی به فایل‌های گوگل درایو رو به اون بدید، روی دکمه Authorize access کلیک کنید و اجازه دسترسی به حساب گوگل خود را به این اپ بدید.
توجه:‌ این اپ میبایست امکان خواندن و نوشتن در گوگل شیت شما رو داشته باشه در غیر اینصورت کار نخواهد کرد.

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

یکبار اسکریپت رو Run کنید و مطمئن بشید که خطای authorization دریافت نمیکنید. پس از اجرا یک شیت جدید به نام Email log برای شما ایجاد میشه.

مرحله 2. کد اتصال به گوگل شیت را در وردپرس جای‌گذاری کنید

کد سفارشی زیر رو در وردپرس قرار بدید.

برای قرار دادن کد سفارشی در سایت‌های وردپرسی از سه روش زیر می‌توانید استفاده کنید:

  • قرار دادن کد در فایل functions.php تم فرزند
  • استفاده از پلاگین‌های کمکی مانند code snippets
  • ساخت پلاگین اختصاصی خود

بیشتر بخوانید: آموزش نحوه اضافه کردن کد سفارشی در وردپرس

function get_sheet_app_url (){
	
	$url = ""; // your google app url

return $url;}
add_filter('wp_mail', 'check_and_strip_email_body');
function check_and_strip_email_body($args) {
    $email_body = $args['message'];
    if (strpos($email_body, '--sheets--') !== false) {
		$email_body = str_replace(array('<br>', '<br/>', '<br />'), "\n", $email_body);

        $plain_text_body = strip_tags($email_body);
		$plain_text_body = str_replace(array('--sheets--', '&nbsp;', 'New submission from'), "\n", $plain_text_body);
		$plain_text_body = preg_replace('/\s+\n/', "\n", $plain_text_body);
		$plain_text_body = preg_replace('/\n+/', "\n", $plain_text_body);
		send_to__google_sheet ($plain_text_body);
    }
    return $args;
}
function send_to__google_sheet ( $clean_body ) {
	$google_apps_script_url = get_sheet_app_url ();
	$data = array('email_body' => $clean_body);      
    $response = wp_remote_post($google_apps_script_url, array(
        'method'    => 'POST',
        'body'      => wp_json_encode($data),
        'headers'   => array(
            'Content-Type' => 'application/json',
        ),
    ));
    if (is_wp_error($response)) {
        error_log('Send to Sheet Error: ' . $response->get_error_message());
    }
}

مرحله 3. نشانه گذاری فرم‌هایی که میخواهید در گوگل شیت ذخیره شوند

خب تقریبا کار تمونه، الان تنها کاری که باید کنید اینه که به فرم‌هاتون این فیلد مخفی رو اضافه کنید:

<input type="hidden" name="mrnargil" value="--sheets--">

فرم‌های contact form 7

در پلاگین CF7 به قیمت فرم‌ها برید و در تب فرم این فیلد مخفی رو اضافه کنید:

[hidden mrnargil default: "--sheets--"]

نتیجه کار باید مثل تصویر زیر باشه:

به تب ایمیل برید و شورتکد زیر رو به قسمت محتوای پیام اضافه کنید:

[mrnargil]

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

فرم‌های Gravity Forms

در گرویتی فرم به قسمت ویرایش فرم برید و یه فیلد Hidden به فرم اضافه کنید.

تو تنظیمات فیلد جدید به قسمت Advanced برید و Default Value رو برابر --sheets-- قرار بدید.

فرم رو ذخیره کنید، از این به بعد ورودی‌های این فرم تو گوگل شیت ذخیره میشن.

فرم‌های المنتور

یه فیلد جدید به فرمتون اضافه کنید و Type رو برابر Hidden بذارید.

به تب Advanced برید و Default Value رو برابر --sheets-- بذارید.

فرم رو ذخیره کنید، از این به بعد ورودی‌های این فرم تو گوگل شیت ذخیره میشن.

مقالات مشابه

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

آموزش ساخت اسلایدر محصولات ووکامرس بدون پلاگین

آموزش اتصال وردپرس به گوگل شیت برای ذخیره فرم‌ها

آموزش آپدیت قیمت در وردپرس با استفاده گوگل شیت

دیدگاه‌ها

  1. حسین نیم‌رخ
    حسین

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

  2. سولماز نیم‌رخ
    سولماز

    سلام مرسی از مقاله خوبتون خیلی عالی بود
    حالا اگر مثلا 3 تا فرم داشته باشیم و بخواییم همش توی یک شیت در تب های مختلف با عنوان فرم ذخیره بشن باید چیکار کنیم؟

  3. سارا نیم‌رخ
    سارا

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

    ممنون میشم راهنمایی کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

افزونه کشف قیمت

افزونه برورسانی اتوماتیک قیمت از سایتهای دیگر

دانلود رادار قیمت