افزودن درگاه پیامکی به افزونه میهن پنل

در نسخه ۴.۲.۱ به افزونه میهن پنل قابلیت افزودن درگاه پیامکی به دلخواه شما اضافه شد.

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

اول از همه باید ارائه دهنده‌ی خدمات اس ام اس را به عنوان یکی از ارائه دهنده‌ها ثبت کنید. این کار را با استفاده از این فیلتر انجام میدیم.

add_filter('mihanpanel_sms_providers', function($providers){
$providers['mihan_sms'] = [
'title' => 'Mihan SMS',
'class' => MihanSMS::class,
'path' => plugin_dir_path(__FILE__) . 'mihansms .php'
];
return $providers;
});

کلاس MihanSMS باید کلاس mihanpanel\pro\app\contracts\sms_provider_interface را پیاده سازی کند.

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

static function send($to, $msg);
static function render_settings();
static function get_provider_settings();
static function validate_send_message($response);

send():

در این متد باید روش ارسال اس ام اس پیاده سازی شود.

render_settings():

در این متد باید فیلدهایی که میخواید در تنظیمات نمایش داده شود قرار بگیرد.

get_provider_settings():

در این متد باید کلید تنظیمات به صورت آرایه بازگشت داده شود.

validate_send_message():

در این متد هم باید روشی را پیاده سازی کنید تا میهن پنل با استفاده از آن مطمئن شود. که ارسال اس ام اس به درستی انجام شده.

نکته: فراموش نکنید که اسم فیلد هایی که در متد render_settings() قرار میگیره باید با کلید هایی که در متد get_provider_settings() برگشت داده شده یکی باشد.

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

<?php
use mihanpanel\pro\app\contracts\sms_provider_interface;
class MihanSMS implements sms_provider_interface{
static function send($to, $msg)
{
// send sms process
}
static function render_settings()
{
$api_key = get_option('mihansms_api_key');
$gateway_number = get_option('mihansms_gateway');
?>
<p>
<label for="mihansms_api_key">API Key</label>
<input value="<?php echo $api_key;?>" type="text" name="mihansms_api_key" id="mihansms_api_key">
</p>
<p>
<label for="mihansms_gateway">Gateway Number</label>
<input type="text" value="<?php echo $gateway_number? >" name="mihansms_gateway" id="mihansms_gateway">
</p>
<?php
}
static function get_provider_settings()
{
return [
'mihansms_api_key',
'mihansms_gateway',
];
}
static function validate_send_message($response)
{
// validate send sms
}
}

برای تنظیم sanitize callback برای تنظیمات خود می‌توانید از کد زیر استفاده کنید:

static function get_provider_settings()
{
    return [
        [
            'setting_name' => 'mihansms_api_key',
            'sanitize_callback' => 'sanitize_gateway_number'
        ],
        'mihansms_gateway'
    ];
}

و سپس برای ساخت تابع sanitize_gateway_number از کد زیر استفاده کنید:

function sanitize_gateway_number($input = null)
{
    // do some ...
}

به همین راحتی می‌توانید درگاه پیامکی خود را به میهن پنل اضافه کنید. موفق باشید.

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