
اگر میخواهید پلاگین نویسی را یاد بگیرید یا امکانات اختصاصی به سایتتان اضافه کنید و هیچ افزونهای برای آن یافت نمیشود در این مقاله مراحل طراحی افزونه وردپرس با یک مثال ساده ِآموزش می دهیم.
اگر میخواهید پلاگین نویسی را یاد بگیرید یا امکانات اختصاصی به سایتتان اضافه کنید و هیچ افزونهای برای آن یافت نمیشود در این مقاله مراحل طراحی افزونه وردپرس با یک مثال ساده ِآموزش می دهیم.
از وبلاگهای ساده گرفته تا سایتهای پیچیده تجاری و فروشگاهی و میلیونها سایت دیگر از وردپرس استفاده میکنند. سهولت استفاده از وردپرس باعث شده با کمک قالب و افزونه وردپرس در کمتر از چند ساعت یا حتی چند دقیقه بتوانید یک سایت ساده طراحی کنید. اما تمام ماجرا در سادگی وردپرس ختم نمیشود؛ چرا که وردپرس میتواند به اندازه خواستههای شما پیچیده شود! اما چگونه؟
اینجاست که افزونهها یا پلاگینها به کمک شما میآیند. برنامههای کوچکی که روی وردپرس نصب میشوند تا امکانات مورد نیاز شما را به سایت اضافه کنند. برای استفاده از افزونهها دو راه پیش روی شماست، یا باید از افزونههای آماده استفاده کنید یا میتوانید به سراغ طراحی افزونه وردپرس خودتان بروید. به همین منظور در ادامه این مقاله در نحوه ساخت افزونه وردپرس صحبت خواهیم کرد. اما این مقاله فقط بخش کوچکی از مراحل نوشتن پلاگین وردپرس را بیان خواهد کرد. چنانچه علاقهمندید افزونه نویسی وردپرس را به طور کامل و جامع آموزش ببینید به شما توصیه میکنیم حتما سری به دوره جامع آموزش افزونه نویسی وردپرس در سایت دانشجویار بزنید.
به طور کلی استفاده از این ابزار وردپرس آماده به شما این امکان را میدهد که بدون نوشتن حتی یک خط کد امکاناتی که مورد نیاز سایت شما هست را به آن اضافه کنید و مثلا سایت خود را به یک فروشگاه اینترنتی تبدیل کنید. این افزونهها توسط افراد سراسر دنیا نوشته و توسعه داده شده است بنابراین کمترین مشکلات و مشکلات امنیتی را دارد و مدام به روز میشوند. همچنین شما با پرداخت کمترین هزینه و بدون نیاز به صرف زمان می توانید از افزونه استفاده کنید.
از معایب استفاده از افزونه آماده این است که شما ناچارید هم از لحاظ پردازش و سنگینی و هم از لحاظ منوها و فیلدها و… امکانات اضافه آن را هم بپذیرید و مطابق با ساختار افزونه سایت خود را راه اندازی کنید نه ساختار خاصی که شما در ذهن دارید.
یک افزونه ساده وردپرس حداقل شامل یک پوشه به نام افزونه و به همراه یک فایل php است که به عنوان فایل اصلی، عملکرد افزونه در داخل آن نوشته میشود. اما با پیچیده تر شدن افزونه، فایلها و پوشه های افزونه خیلی بیشتر خواهند شد. در ادامه قصد داریم به طراحی یک نمونه افزونه وردپرس بپدازیم کاربرد این افزونه این است که در ابتدای هر پست، مدت زمانی که برای مطالعه پست لازم است را به صورت خودکار تخمین زده و نمایش دهد.
الوین مرحله برای ساخت افزونه وردپرس این است که یک نام برای افزونه انتخاب کنید ما نام افزونه را «تخمین مدت مطالعه» میگذاریم که نام لاتین آن «estimate study duration» میشود.
در داخل پوشه wp-content/plugins/ یک پوشه با نام estimate-study-duration و داخل این پوشه یک فایل php با نام estimate-study-duration. php ایجاد میکنیم.
اطلاعات افزونه یا همان شناسنامه افزونه را به شکل زیر ثبت میکنیم.
<?php /** * Plugin Name: تخمین مدت مطالعه * Plugin URI: https://daneshjooyar.com/plugins/estimate-study-duration * Description: با این افزونه مدت مطالعه پست ها به صورت خودکار تخمین زده می شود * Author: محمد مهدی جعفری * Author URI: https://daneshjooyar.com/teacher/jafari * Version: 1.0.0 * License: GPLv2 or later */
نکته: این بخش طراحی افزونه وردپرس حتما باید به صورت کامنت php ثبت شود تا مشکلی در عملکرد افزونه ایجاد نکند چرا که صرفا به وردپرس اطلاعات افزونه را منتقل میکند. اطلاعات شناسه افزونه شامل موارد زیر است:
نام افزونه را مشخص میکند که میتواند فارسی یا انگلیسی باشد. دقت کنید تنها پارامتری که اگر ثبت نشود یا اشتباه ثبت شود افزونه در بخش مدیریت افزونهها اصلا نمایش داده نمیشود و وردپرس افزونه شما را نمیشناسد.
آدرس اینترنتی صفحه افزونه که میتواند صفحهای از سایت شخصی یا صفحه افزونه در مخزن وردپرس باشد
توضیحاتی که در خصوص افزونه مینویسید که عملکرد افزونه را توضیح میدهد و میتوانید از تگهای html مثل لینک هم داخل آن استفاده کنید.
نام نویسنده افزونه که میتواند نام شرکت، نام شخص یا نام یک گروه باشد.
در این قسمت آدرس اینترنتی صفحه نویسنده افزونه قرار داده می شود.
با توجه به این که افزونه ها دارای ورژن های محتلفی هستند در پارامتر Version شماره نسخه افزونه را قرار می دهیم.
منظور از لایسنس مجوزی است که این افزونه دارد هر مجوز باید سازگار با GPL باشد و GPLv2 or later توصیه می شود.
نکته: پارامترهای دیگری هم در این مرحله از طراحی افزونه وردپرس وجود دارد که فعلا از آن صرف نظر میکنیم. در ضمن افزونه شما تنها با پارامتر Plugin Name هم میتواند کار کند اما سایر موارد برای ارائه یک افزونه جامع استفاده میکنیم.
حالا میتوانید به بخش پیشخوان وردپرس> افزونهها> افزونههای نصب شده بروید و افزونه خود را مشاهده کنید و آن را فعال کنید.
اما این افزونه هنوز هیچ کاری انجام نمیدهد و باید بدنه آن یا توابع افزونه را برای انجام عملکردی که گفتیم بنویسیم پس به سراغ مرحله چهارم از طراحی افزونه وردپرس میرویم.
به مهمترین قسمت ساخت افزونه در وردپرس رسیدیم و مرحله کد نویسی افزونه است. خطوط زیر را به فایل estimate-study-duration. php اضافه میکنیم تا مدت زمان مطالعه را تخمین بزند و اول پستها اضافه کند برای این کار می توانید از یک ویرایشگر کد مانند Notepad ++ استفاده کنید. فایل کامل افزونه شامل کدهای زیر است:
/**
* Plugin Name: تخمین مدت مطالعه
* Plugin URI: https://daneshjooyar.com/plugins/estimate-study-duration
* Description: با این افزونه مدت مطالعه پست ها به صورت خودکار تخمین زده می شود
* Author: محمد مهدی جعفری
* Author URI: https://daneshjooyar.com/teacher/jafari
* Version: 1.0.0
* License: GPLv2 or later
*/
function echo_estimate_study_duration( $content ){
$content_text = strip_tags( $content );
$content_words = explode( ‘ ‘, $content_text );
$word_count = count( $content_words );
$estimate_duration = round( $word_count / 200 );
$estimate_duration_html = ‘<p>’;
$estimate_duration_html.= ‘مدت زمان برای مطالعه: ‘;
$estimate_duration_html.= $estimate_duration . ‘ دقیقه’;
$estimate_duration_html.= ‘</p>’
return $estimate_duration_html . $content;
}
add_filter( ‘the_content’, ‘echo_estimate_study_duration’ );
اگر به صورت خلاصه بخواهیم کدها را توضیح دهیم شامل موارد زیر است:
تابع echo_estimate_study_duration: این فاکنشن که از خط ۱۲ تا ۲۲ تعریف شده پارامتر ورودی محتوای فعلی پست است.
strip_tags: چون تگهای html توسط خوانندهها خوانده نمیشوند پس باید از متن اصلی حذف شوند.
explode: برای قابل شمارش بودن کلمات با استفاده از فاصله تمام کلمات را در یک آرایه قرار میدهیم.
count: تعداد کلمات را میشماریم
word_count / 200: به طور متوسط هر کاربر در یک دقیقه حدود ۲۰۰ کلمه مطالعه میکند پس با یک تقسیم و گرد کردن مدت دقیقه حدودی مطالعه محاسبه میشود.
the_content: با استفاده از فیلتر the_content قصد داریم تا محتوای پست را تغییر دهیم و مدت مطالعه را ابتدای هر پست ثبت کنیم. پارامتر دوم این تابع، اسم تابعی است که عملیات تغییر محتوای پست را به عهده دارد و محتوای فعلی را گرفته و مدت زمان را تخمین زده و به اول محتوا اضافه میکند و نتیجه را مجدد به خروجی میفرستد.
و اما نتیجه به صورت زیر می شود:
حال که پلاگین را تست کردید پوشه estimate-study-duration را به صورت zip فشرده کرده و به مشتری ارائه بدهید.
اگر به وردپرس علاقه مند هستید و میخواهید علاوه بر افزونه با نحوه ساخت قالب آشنا شوید مقاله تبدیل قالب سایت HTML به وردپرس را از دست ندهید تا به صورت ویدئویی با نحوه ساخت یک قالب وردپرس آشنا شوید.
در این مقاله به صورت خلاصه مراحل طراحی افزونه را توضیح دادیم و و یک مثال ساده را بررسی کردیم البته برای افزونه های پیشرفته تر میزان کد نویسی بسیار بیشتر است و نیاز به استفاده از توابع بیشتری دارید. اگر سوالی در این رابطه دارید میتوانید از بخش نظرات سوالاتتان را با ما در میان بگذارید.
استانداردهای بالایی را برای خود تعیین کنید و به چیزی کمتر قانع نباشید، شما بهترین قاضی در مورد خود و توانایی های خود هستید.