۸ نکته در رابطه با برنامه نویسی وردپرس

۸ نکته در رابطه با برنامه نویسی وردپرس

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

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

کدهای اینلاین CSS و JS را با توابع وردپرس بنویسید

زمانی که قصد دارید که کد CSS یا JS را به صورت اینلاین(Inline) بنویسید،حتما از توابع wp_add_inline_script برای نوشتن کدهای JS و wp_add_inline_style برای کدهای css استفاده کنید.

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

در مقاله آموزشی توابع وردپرس برای نوشتن کدهای درون خطی می توانید اطلاعات بیشتری در رابطه با این دو تابع پیدا کنید.

استفاده صحیح از تابع wp_enqueue_script

وردپرس تابعی را دارد به نام wp_enqueue_script،که به کمک آن می توانید اسکریپت های مد نظرتون را لود کنید.

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

با ورود به این لینک می توانید اطلاعات بیشتری در رابطه با این تابع پیدا کنید.

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

مثلا اگر قصد دارید که از jquery-ui-datepicker استفاده کنید. وردپرس به صورت پیش فرض این اسکریپت را دارد و نیازی به لود و بارگذاری مجدد فایل های jQuery Ui DatePicker نیست.

ساختار کلی تابع wp_enqueue_script به شکل زیر است :

wp_enqueue_script( string $handle, string $src = '', string[] $deps = array(), string|bool|null $ver = false, bool $in_footer = false )

پارامتر اول،یعنی $handle نام اسکریپتی هست که شما در هنگام رجیستر کردن باید بنویسید.این نام باید یونیک باشد تا با سایر اسکریپت ها تداخلی ایجاد نکند.

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

مثلا اگر قصد استفاده از jquery-ui-datepicker را دارید،دقیقا باید عین همین عبارت را در پارامتر اول این تابع(handle) وارد کنید.اضافه نمودن پسوند یا پیشوند مثل  jquery-ui-datepicker-nikanwp اشتباه است.

در هنگام رجیستر کردن یا لود کردن فایل CSS داخل افزونه وردپرس یا قالب وردپرس باید در نظر بگیرید که نیازی به اضافه کردن کلمه css در قسمت handle نیست.

مثلا اگر شما بخواهید یک فایل CSS به نام  nikanwp-admin را رجیستر کنید،وردپرس به صورت پیش فرض کلمه css را به انتهای این نام اضافه می کند. یعنی در نهایت نام فایل شما می شود : nikanwp-admin-css

استفاده صحیح از Text Domain

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

اگر خیلی اطلاعات زیادی در رابطه با بحث Text Domain در وردپرس ندارید،بهتر است سری به اینجا بزنید.

اما نکته ای که می خواهم به شما بگویم این هست که هیچ وقت Text Domain را به صورت PHP Define استفاده نکنید.

به صورت پیش فرض زمانی که افزونه یا پوسته ای را ایجاد می کنید یک نام برای Text Domain انتخاب می کنید.و باید از همان نام در برنامه ای که در حال توسعه آن هستید استفاده کنید.

در خیلی از موارد دیده شده که توسعه دهنده نام Text Domain را در یک ثابت(Define) مقدار دهی می کند و از نام آن ثابت به عنوان رشته ترجمه استفاده می کند.

رعایت نکات امنیتی در برنامه نویسی وردپرس

وردپرس به صورت پیش فرض سیستم امنی هست،تقریبا می توان گفت که این افزونه ها و قالب های وردپرسی غیر استاندارد هستند که با عدم رعایت نکات امنیتی باعث به خطر انداختن سایت ها می شوند.

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

حتما استفاده از Data Validation،Nonce و … را در توسعه وردپرس در نظر بگیرید.

وردپرس توابعی مثل esc_url دارد که برای ایمن سازی خروجی ها هست یا توابعی مثل sanitize_file_name دارد که مربوط به ایمن سازی ورودی ها هست.

استفاده از تابع date_i18n

date_i18n،یکی از توابع داخلی خود وردپرس هست که وظیفه این تابع، نمایش تاریخ در فرمت دلخواه است.

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

این افزونه به طور خودکار تمام رشته هایی که توسط تابع date_i18n خروجی داده شده باشد را به شمسی تبدیل می کند.

پس اگر با تاریخ سرو کار دارید حتما از تابع date_i18n استفاده کنید و اگر اطلاعات زیادی راجع به این تابع ندارید به این لینک مراجعه کنید.

بررسی توابع وردپرس با function_exists

function_exists یکی از توابع پیش فرض زبان برنامه نویسی PHP هست که وظیفه آن بررسی وجود داشتن یا نداشتن یه تابع را بر عهده دارد.

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

لود اسکریپت ها در سمت پنل وردپرس

زمانی که در حال برنامه نویسی پنل وردپرس هستید و نیاز دارید که یک اسکریپتی را لود کنید،حتما Screen آن صفحه را دریافت کنید و فقط فایل ها را در آن صفحه لود کنید.

با فرض اینکه شما افزونه وردپرس طراحی کرده باشید،و صفحه ای تحت عنوان تنظیمات افزونه داشته باشید،برای آن بخش نیاز به لود فایل Css یا JS هست.

با بررسی Screen آن صفحه می توانید فقط در همان صفحه فایل استایل مورد نظرتون را لود کنید.تا وقتی که کاربر به بخش های دیگر پنل مراجعه می کند بی جهت منتظر لود یک فایل جدید نماند.

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

استفاده از WP CLI

اگر برنامه نویسی و مدیریت چند وب سایت را به عهده دارید ای اینکه می خواهید در یک پروژه به تعداد خیلی زیاد دیتای تستی ایجاد کنید،حتما از WP Cli استفاده کنید.

استفاده از WP CLI سرعت توسعه را برای شما چند برابر می کند.

ما در نیکان وردپرس یک مقاله کامل و جامع در رابطه با WP CLI نوشتیم که بهتون پیشنهاد می کنم حتما مقاله WP-CLI چیست؟ راهنمای نصب و استفاده از خط فرمان وردپرس را بخوانید.

جمع بندی در رابطه با نکات برنامه نویسی و توسعه وردپرس

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

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

حتما سعی کنید به عنوان برنامه نویس وردپرس تا جایی که می توانید مطابق استاندارهای وردپرس پیش برید تا محصولاتی که توسط شما عرضه می شوند در نهایت باعث رشد و پیشرفت سایت هایی شود که در حال استفاده از محصول نهایی شما هستند.

 

در رابطه با این مطلب سوال یا نظری دارید؟ می توانید آن را در بخش دیدگاه ها ارسال کنید
مهدی خاکسار
مهدی خاکسار

متخصص وردپرس و نویسنده این مطلب

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