×

زندگی شما زمانی بهتر می شود که خودتان بهتر شوید.

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

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

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

موارد مطرح شده در این صفحه مربوط به نسخه ۳٫۵٫۰ افزونه ووکامرس می باشد.

در ووکامرس دو برگه برای تعریف تابع register_activation_hook استفاده می شود. برگه اول برگه اصلی کلاس ووکامرس به آدرس زیر است:

woocommerce/includes/class-woocommerce.php

و برگه دوم برگه کلاس نصب ووکامرس به آدرس زیر می باشد که تمام توابع مربوط به نصب ووکامرس در این کلاس قرار دارد:

woocommerce/includes/class-wc-install.php

تابع register_activation_hook در کلاس اصلی ووکامرس و در تابع سازنده construct__ ولی توابع اجرایی آن در کلاس نصب ووکامرس تعریف می شود.

در کد زیر می توانیم نحوه تعریف تابع سازنده construct__ در کلاس اصلی ووکامرس را مشاهده نماییم: (موارد اضافی حذف شده اند)

class woocommerce{
public function __construct() {
$this->init_hooks();
}
private function init_hooks() {
register_activation_hook( WC_PLUGIN_FILE, array( 'WC_Install', 'install' ) );
}
}

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

if ( ! defined( 'WC_PLUGIN_FILE' ) ) {
define( 'WC_PLUGIN_FILE', __FILE__ );
}

پارامتر دوم به کلاس نصب وردپرس و تابع install درون این کلاس اشاره دارد که در فایل کلاس نصب وردپرس به صورت زیر تعریف شده است:

class WC_Install{
public static function install() {	
//statemants	
}
}

درباره نویسنده:

نوین تِک بیش از 4 سال سابقه طراحی و توسعه وردپرس دارم. تمام اوقات روز رو به مطالعه و کار بر روی پروژه های وردپرسی می گذرانم. هم اکنون بیشتر پروژه های من توسعه هسته وردپرس و طراحی افزونه های مختلف می باشد. برای ارتباط با من می توانید با شماره 09119140628 تماس بگیرید. در تلگرام نیز با این شماره حضور دارم.
مشاهده سایت

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

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