نویسنده: علی باقری نیا
تاریخ: ۱۵,مهر,۱۳۹۲
آخرین ویرایش: ۰۳ فروردین ۱۳۹۶
یک دیدگاه
1021 بازديد

تمرینی برای ساخت افزونه – یک

در اینجا فقط سعی می شود که بصورت تمرینی یک ...

امتیاز دهید :

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...
  • خوشبختانه در این انجمن برای تولید پلاگین آموزش های بسیار خوبی داده شده است.

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

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

    – پس در این مثال فعلاً پلاگینی می سازیم که کارش کوتاه کردن تعداد کلمات چکیده های پست می باشد – نام این پلاگین را omg قرار می دهیم

    – ساختار عمومی (نه حداکثری و نه حداقلی) یک پلاگین از یک پوشه تشکیل شده است که درون آن اجزای پلاگین قرار می گیرند که به صورت نمونه به قرار زیر است:

    = پوشه پلاگین: omg-plugin

    == فایل اصلی پلاگین: omg.php

    == فایل readme.txt که حاوی اطلاعاتی درباره پلاگین است

    == پوشه اسکریپت ها: js
    ==== فایل اسکریپت: omg.js

    == پوشه استایل ها: css
    ==== فایل استایل: omg.css

    == پوشه کنترل پنل افزونه: omg-admin
    ==== فایل کنترل پنل ادمین: omg-admin.php

    == پوشه تصاویر: images
    ==== فایل های تصاویر: loading.gif

    مرحله بعد معرفی افزونه به استفاده کنندگان است. این کار به وسیله فایل readme.txt انجام می شود. مثلاً:

    == OMG Plugin==
    Author: hasan
    == Description==
    چنانچه تمایل داشته باشید که چکیده های پست های شما در زمان نمایش تعداد لغات معینی را نمایش دهند می توانید می توانید از افزونه فعلاً رایگان اوه مای گاد استفاده نمایید
    اُ – ام – جی مخفف اوه مای گاد می باشد و هر نوع برداشت از پلاگین اوه مای گاد به هیچ وجه قابل پیگیری نیست
    ==Instalation==
    ۱ – پلاگین را نصب و فعال نمایید
    ۲ – در قالب خود هر کجا که نیاز به نمایش چکیده دارید عبارت زیر را قرار دهید

    ۳ – در کد بالا عدد ۲۰ نشانگر تعداد کلمات جهت نمایش می باشد که می توانید به دلخواه آن را تغییر دهید

    خب حالا بریم سراغ ساخت افزونه:
    برای این کار فایل omg.php را با بخش بندی های زیر می سازیم:

    الف: معرفی افزونه:

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

    ب: روند نصب: در این مورد در قسمت های بعد توضیحات مفصلی ارائه می شود:

    //Installation
    function omg_plugin_install(){
    //روند نصب در اینجا قرار می گیرد
    }
    register_activation_hook(__FILE__,’omg_plugin_install’);

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

    //Styles and Scripts
    // در اینجا فایل های اسکریپت و استایل ثبت و نصب می کردند
    function omg_plugin_scripts(){
    wp_register_script(‘omg_plugin_script’,plugin_dir_url( __FILE__ ).’js/omg-plugin.js’);
    wp_enqueue_script(‘omg_plugin_script’);

    wp_register_style(‘omg_plugin_style’,plugin_dir_url( __FILE__ ).’css/omg-plugin.css’);
    wp_enqueue_style(‘omg_plugin_style’);
    }
    add_action(‘wp_enqueue_scripts’,’omg_plugin_scripts’);

    اگر همین پلاگین ساده را نصب و فعال کنید خواهید دید که در سایتتان در حالت view page source عبارات زیر افزوده شده اند:

    و این یعنی اینکه پلاگین ما توسط وردپرس قابل دانسته شده و فایل های css و js آن فراخوانی گردید اند (من در پوست خود نمی گنجم – شما چطور؟)

    د: ایجاد عملکرد اصلی افزونه:
    این قرارمون بود که پلایگینی فعلاً بسازیم که بیاد و تعداد کلمات نمایشی چکیده های پست ها رو مثلاً به ۲۰ کلمه کاهش بده. خب این کار بوسیله تابع زیر انجام میگیره:

    function string_limit_words($string, $word_limit) {
    $words = explode(‘ ‘, $string, ($word_limit + 1));
    if(count($words) > $word_limit)
    array_pop($words);
    return implode(‘ ‘, $words);
    }

    این کد به تنهایی وقتی کار میکنه که در فایل functions.php پوسته قرار بگیره. اما چه کار کنیم که در افزونه ما هو بتونه همون کار رو انجام بده؟ اینگونه:

    //Hooks
    add_action(‘init’,’omg_plugin_init’);

    /* Functions & Routins*/
    function omg_plugin_init(){

    function string_limit_words($string, $word_limit) {
    $words = explode(‘ ‘, $string, ($word_limit + 1));
    if(count($words) > $word_limit)
    array_pop($words);
    return implode(‘ ‘, $words);
    }

    run_sub_process();
    }
    function run_sub_process(){
    //اینجا سایر روتین ها قرار می گیرند
    }

    * فعلاً نمی دونم که آیا در انجمن برای هوک ها آموزشی وجود داره یا نه – اگر بود که حتماً بخونید و اگر نبود یا خودتون آموزشی در این زمینه قرار بدید یا در قسمت های بعدی این آموزش قرار خواهم داد.

    کار تمام شد – افزونه ساخته شد. قطعات بالا را کنار هم قرار می دهیم تا فایل omg.php کامل گردد:


    $word_limit)
    array_pop($words);
    return implode(‘ ‘, $words);
    }
    run_sub_process();
    }
    function run_sub_process(){
    //اینجا سایر روتین ها قرار می گیرند
    }
    ?>

    افزونه فوق در فایل زیر قابل دریافت است – برای نمونه دریافت و نصب و فعال کنید :

    فایل پیوستی omg-plugin.zip 2.17K 3 تعداد دریافت ها

    امیدوارم در قسمت های بعدی بتوانیم در کنار یادگیری و فهم بهتری از هوک ها، پنل ادمین و نیز ابزارک برای افزونه بسازیم.

  • تازه های وردپرس رو از کانال تلگرام خانه وردپرس دنبال کنید