نحوه ی ایجاد افزونه آواتار مدیر برای وردپرس

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

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

گام اول>> راه اندازی فضای کار
وارد پوشه ی /wp-content/plugins شوید و شروع به ایجاد ساختارهایی همانند تصویر زیر کنید؛
با توجه به تصویر شما باید پوشه ی اصلی با عنوان Avatar-manager ایجاد نمایید و سپس آن را باز نمایید و داخل این پوشه، پوشه ی language و فایل های  avatar-manager.css ،avatar-manager.js ،avatar-manager.php ،index.php ،LICENSE،uninstall.php بسازید.

ex1

مسلماً شما باید یک عنوان منحصر به فرد و مشخصی برای افزونه ی خود انتخاب نمایید؛ به عنوان نمونه مثل نامی که من در نظر گرفتم avatar-manager  و همچنین فایل اساسی و مهم avatar-manager.php !

سکوت طلایی است!
قبل از اینکه شروع به نوشتن کد های افزونه ی خود کنید فایل avatar-manager/index.php  را باز نمایید و کدها را مطابق زیر اضافه کنید:

PHP

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

گام دوم>> شروع نوشتن افزونه ی ساده وردپرس
حالا نوبت به این رسیده که اطلاعات را در فایل پی اچ پی اصلی در افزونه خود وارد نمایید.
اطلاعات استاندارد افزونه:
یک فایل اصلی پی اچ پی در افزونه باید شامل اطلاعات استانداردی در سربرگ خود باشد.این سربرگ به وردپرس اجازه می دهد تا افزونه وجود خود را اعلام کند، امکان افزودن آن به صفحه ی مدیریت افزونه ها را بدهد تا کاربر قادر به فعال سازی آن باشد، قادر به بارگذاری باشد و بتواند توابع را اجرا نماید.عدم وجود سربرگ باعث افزونه هرگز فعال سازی و اجرا نشود!
حال فایل avatar-manager/avatar-manager.php را باز کرده و کدهای موجود در خطوط زیر را در آن وارد نمایید:

PHP

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

نسخه :
برای شفاف شدن  موضوع و درک بهتر از فرآیند انتشار و تلاش برای حفظ سازگاری آاتار مدیریت تحت دستور العمل نشخه های معنایی تا حد امکان نسخه هایی ارائه می شود.بنابراین فرمت زیر به شماره ذکر شده منتشر خواهد شد:

PHP

و با دستورالعمل های زیر ساخته می شود:
1- از بین بردن ناسازگاری با موارد جعلی ( بازنشانی جزئی و پچ کردن)
2- ارسال جدید بدون از بین بردن ناسازگاری با موارد جعلی (بازنشانی پچ)
3- رفع اشکال و تغییرات متفرقه موارد جعلی در امر پچ کردن

در این امر باید به دنبال سربرگ استاندارد با اطلاعات مربوط به آن باشید تا بتوان مجوز برای افزونه ی شما صادر شود.معمولاً افزونه ها از مجوز یکسانی در وردپرس استفاده می نمایند که به نام GPLV2 یا Compatible with the GPLV2 میباشد.برای نشان دادن مجوز GPLV2 از کدهای مشمولی که در خطوط زیر آمده است در افزونه ی خود استفاده نمایید:

PHP

سپس به مسیر  avatar-manager/LICENSE رفته و مجوز را در آن وارد نمایید!

گام سوم>> برنامه نویسی افزونه ی آواتار مدیر:
ex2
همانطور که مشاهده می کنید پلاگین شما در صفحه ی افزونه ها ایجاد شده است ، حال باید آن را فعال نمایید تا بتوانیم به ادامه ی ماجرا بپردازیم!
اگر افزونه ی خود را فعال کردید کدهای موجود در خطوط زیر را در فایل اصلی پی اچ پی موجود در افزونه(avatar-manager.php) وارد نمایید :

PHP

()define تابعی برای تعریف نام در زمان اجرای ثابت می باشد.
()plugin_dir_url تابعی است که آدرس را بصورت جدا جدا برای افزونه ی __FILE__ میگذارد.ارزش __FILE__ بیشتر در مسیر کامل و عنوان فایل فعلی است و آن را یکی از هشت ثابت جادویی که فایل پی اچ پی را فراهم میکنند ، گویند.
حال برای واضح شدن این امر بیایید به افزونه ی اولیه ی خود مقدار دهی کنیم :

PHP

()add_action تابعی برای صدا زدن کدها برای یک عمل خاصی است.init برای اجرای عملی در وردپرس پس از پایان بارگذاری می باشد اما قبل از ارسال سربرگ ها.همچنین ()load_plugin_textdomain باید در طی ساخت init فراخوانی می شود، به عبارت دیگر، کاربران نمی توانند کدی در آن وارد نمایند!
()dirname تابع مسیر پوشه ی والد را برمی گرداند در حالیکه ()plugin_basename تابع اسم مبنا برای افزونه می باشد.

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

گام چهارم >> افزودن تنظیمات افزونه :
در این مرحله ما باید تنظیماتی را به افزونه ی خود اضافه نماییم.مجوز سفارشی سازی به افزونه این امکان را می دهد که حالت منعطفی را برای کاربر داشته باشد تا بتواند در حد معمول یک سری تغییرات را اعمال نماید.

PHP

admin_init عملی است که قبل از هر گونه کدنویسی در زمانی که کاربر به سطح مدیریتی دسترسی دارد استفاده می شود.
register_setting تابعی در یک محیط ثبت نامی می باشد که پاسخ ها را ثبت می کند.
()add_setting_field تابعی است که یک رشته تنظیمات را در صفحه ی تنظیمات و بخش مربوطه ایجاد می کند. ما از این مورد برای افزودن تنظیمات افزونه مورد نظر در پایین تنظیمات صفحه ی نمایش استفاده می کنیم.

گام پنجم>> افزودن گزینه ی پاسخ به کاربر :
قبل از توضیح این بخش لازم می بینم دو تابع رو خدمت دوستان توضیح دهم.
توابع ()avatar_manager_get_default_options() , avatar_manager_get_options!

PHP

()avatar_manager_get_options عملکردی است که امکان گزینه ای برای بازگشت افزونه به حالت پبش فرض را به شما می دهد.

PHP

()avatar_manager_get_options عملکردی برای بازیابی گزینه های افزونه در حال حاضر می باشد.()get_option تابع ارزش از گزینه های مشخص یا مقدار پیش فرضی را بر می گرداند، در صورتی که گزینه در پایگاه داده نباشد.

PHP

()avatar_manager_sanitize_options تابع پاک کننده و تایید کننده ی گزینه های افزونه می باشد.()isset را در صورتی که متغیری باشد فراخوانی می کند و بیان می کند که مقدار آن NULL نمی باشد!
()Trim نوار تابع در فضاهای خالی از ابتدا تا انتهای یک رشته می باشد. ()is_numeric تابعی است که معین می کند آیای یک متغیر یک عدد است یا یک رشته ی عددی؟!
()absint تابعی است که یک مقدار را به یک عدد صحیح تبدیل می کند.

بهینه‌سازی دیتابیس وردپرس [6 روش کاربردی]

گام ششم>> اضافه کردن زمینه های تنظیم:
حال زمان آن است که زمینه هایی را برای تنظیمات اضافه نماییم؛

PHP

()avatar_manager_avatar_uploads_settings_field تابعی برای چاپ آواتار می باشد. ()checked ترکیبی از دو ارزش می باشد، اگر این دو ارزش یکسان باشند checked را نسبت به checkbox اضافه می کند.

PHP

()avatar_manager_default_size_settings_field تابعی برای چاپ و برگرداندن به رشته ی تنظیمات پیش فرض می باشد.
پس از افزودن زمینه ی تنظیمات، شما باید قادر به تنظیم گزینه هایی باشید که در زیر آمده است:

ex3
(تنظیمات>> گفتگوها)
اولین گزینه تعیین می کند که کاربران می توانند یک تصویر ارسال نمایند یا خیر!
گزینه ی دوم نشان دهنده ی ادنازه ی پیش فرض برای یک تصویر است.

گام هفتم>> افزودن بخش ها :
به کاربران خود اجازه دهید آواتار خود را مدیریت نمایند،ما نیازمند این هستیم که یک بخش جدید به پروفایل خود اضافه نماییم.با استفاده از کدهای زیر می توانید این بخش را به آواتار اضافه نمایید:

PHP

show_user_profile و edit_user_profile توابعی هستند که امکان سفارشی کردن پروفایل را به کاربر می دهند.
profileuser$ پارامتری برای پوشه ی wp_user است که ماربر می تواند آن را ویرایش نماید.
()get_post_meta تابعی است که زمینه های سفارشی را با کلید مشخص شده از ارسال بر می گرداند.
()empty تابع تعیینی است که مشخص کننده متغیر خالی است.
()remove_filter تابعی برای حذف فیلتر کدها می باشد که به صورت یک تابع درآمده است.این مورد نیاز به حذف تابع سفارشی،برای بازیابی تصویر آواتار دارد.
در مرحله ی بعد،ما باید چیدمان آواتارها، فرم ارسال و انتخاب امتیاز برای نماد سفارشی هر کاربر را مشخص کنیم.
چیدمان آواتار:
این امکان را به کاربر می دهد تا بین استفاده از Gravatar و آواتار رسمی حق انتخاب داشته باشد.برای اضافه کردن آن،خطوط کد زیر را وارد نمایید:

PHP

()get_avatar تابعی برای بازیابی نماد یک کاربر است که در آن شناسه کاربر یا ایمیل آن مورد نیاز می باشد. ما از تابع ()avatar_manager_get_custom_avatar برای این امر استفاده می نماییم.
()current_user_can تابعی است که بررسی می کند آیا کاربر در حال حاضر دارای قابلیت های خاص است یا خیر.
به طور معمول، کاربران طبق قانون اجازه ی آپلود فایل را ندارند.
()self_admin_url تابعی برای بازیابی یک لینک url مدیر به مسیر اختیاری به کاربر داده می شود. Is_profile_page تابع ثابتی است که به ما می گوید در چه زمانی امکان ویرایش مشخصات خود یا کاربر دیگری را داریم!
()wp_nonce_url تابعی برای بازیابی url فعلی می باشد. قبل از حذف آواتار کاربر باید کاربر باید آن را تایید نماید.
oneclick رویدادی است که اگر از لینک حذف می شود یک اخطار نمایش داده می شود.

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

PHP

()submit_button تابعی جهت نشان دادن دکمه ی ارسال همراه با متن ارائه شده و کلاس مناسب می باشد.

رتبه ی انتخاب :
تنها زمانی نشان داده می شود که آواتار بصورت رسمی در دسترس باشد. برای اضافه کردن آن خطوط زیر را وارد نمایید :

PHP

با این کار شما به کاربر اجازه می دهید که امتیاز مناسب خود را برای استفاده از تصویر آواتار انتخاب نماید.

گام هشتم>> افزودن script  و style :
حال وقت آن رسیده که بخش های آواتار را اضافه نماییم و در این زمان باید به شمای ظاهری آن بپردازیم. در واقع یک سری کدهای Javascript برای تغییر شکل رمزگذاری باید به کار برد. این مرحله بسیار ضروری است!
Css Style :
برای ظاهر افزونه ی خود ، به مسیر avatar-manager/avatar-manager.css رفته و خطوط زیر را به آن اضافه نمایید:

PHP

جاوا اسکریپت :
در این مرحله به مسیر avatar-manager/avatar-manager.js رفته و کدهای زیر را در آن وارد نمایید :

PHP

()attr. تابعی برای تنظیم کردن یک مقدار مشخص برای عناصر همسان می باشد. enctype ویژگی مشخصی است که بیان می کند چگونه فرم اطلاعات باید در هنگام ارائه ی آن به سرور کدگذاری شود. در اینجا ما احتیاج به تغییر multipart/form-data برای اعطای مجوز بارگذاری فایل داریم.

گام نهم>> تولید script و Style:
یک روش ایمن و قابل توصیه، اضافه کردن اسکریپت ها و پرداختن به ظاهر افزونه ی وردپرسی شما می باشد.به طور کلی در یک صفحه از  ()wp_enqueue_script و ()wp_enqueue_style استفاده می شود که این توابع شامل اسکریپت ها و ظواهری می باشد :

PHP

()admin_enqueue_scripts عملی است که اول اقدام به کد کردن در اسکریپت مدیریتی می کند، سپس با متغیر سراسری hook_suffix$ که به اسکریپت شما افزوده می شود و فقط نیازهای صفحه را بررسی می کند.قبل از تولید اسکریپت و استایل ها،اول از همه باید آن را ثبت نماییم.
()wp_register_style تابعی است که راه ایمنی را برای ثبت یک فایل Css.style ایجاد می کند.
()wp_enqueue_style تابعی برای استفاده تولید کننده می باشد. شبیه به ()wp_register_script و ()wp_enqueue_script که توابعی برای ثبت تولیدات فایل جاوا اسکریپت افزونه ی شما می باشد.
پس از این مراحل شما باید برای گزینه های افزونه ی خود موقعیت ها را مشخص و تنظیم نمایید!

موفق و سربلند باشید!

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.