تصمیم بگیر که میخواهی چه کار کنی.
ابتدا باید برای خودتان مشخص کنید که دقیقاً قصد دارید با وردپرس چه کاری انجام دهید. به عنوان مثال، میتوانید یک توسعهدهنده قالب المنتور باشید. در این صورت، فقط باید اصول اولیه وردپرس مانند نصب وردپرس، افزودن/ویرایش پستها یا صفحات، کار با منوها و ویجتها و البته کار با خود سازنده المنتور را بدانید. اما اگر میخواهید افزونهها یا قالبهای سفارشی را روی وردپرس توسعه دهید، باید برخی از مطالب فنی را نیز یاد بگیرید.
مقدمات
در دنیای وب، همه چیز با HTML (زبان نشانهگذاری ابرمتن) و CSS (صفحات سبک آبشاری) شروع میشود. به طور کلی، حتی اگر قصد دارید با وردپرس و سازندههایی مانند المنتور یا ویزوال کامپوزر کار کنید، باز هم باید حداقل اصول اولیه HTML و CSS را بدانید. منابع زیادی برای یادگیری HTML و CSS وجود دارد، از جمله دورههای مختلف، ویدیوهای یوتیوب و مقالات وب. انتخاب با شماست که از کدامیک استفاده کنید. من شخصاً MDN Web Docs را ترجیح میدهم: https://developer.mozilla.org/en-US/docs/Web/HTML
بعد از اینکه یاد بگیری چطور المانها رو روی صفحه قرار بدی و بهشون استایل بدی، اونجاست که واقعاً میتونی شروع کنی به توسعه در وردپرس.
نکته
البته میتوانید با وردپرس فقط با دانش فرانتاند یا بکاند کار کنید (مثلاً یک توسعهدهنده React یک فرانتاند برای یک افزونه سفارشی وردپرس میسازد). اما برای اینکه خودتان یک توسعهدهنده وردپرس باشید و بتوانید تمام مسیر را از نشانهگذاری تا محصول نهایی (قالب، افزونه) مدیریت کنید، باید یک توسعهدهنده فول استک باشید.
فرانتاند
با وجود اینکه وردپرس شامل jQuery (که یک کتابخانه برای جاوا اسکریپت است) میشود، من به شدت توصیه میکنم جاوا اسکریپت را از ابتدا یاد بگیرید. زیرا هرچه سایتهای وردپرسی شما پیچیدهتر شوند، به دانش بیشتری برای نگهداری و بهبود آنها (هم در فرانتاند و هم در بکاند) نیاز خواهید داشت. و jQuery فقط به شما کمک میکند تا سریعتر و راحتتر با DOM و AJAX کار کنید، اما جایگزین تمام سینتکس جاوا اسکریپت (مانند آرایهها، اشیاء، توابع و غیره) نمیشود. علاوه بر این، زمانی که با کد توسعهدهندگان دیگر کار میکنید، مفید میشود، زیرا آنها میتوانند به اصطلاح با vanilla JS (جاوا اسکریپت خالص بدون کتابخانههای اضافی) بنویسند.
مانند HTML و CSS، منابع زیادی در مورد جاوا اسکریپت وجود دارد، بنابراین میتوانید آن را به هر روشی که میخواهید یاد بگیرید (گوگل به شما کمک میکند). من میتوانم MDN Web Docs یا دوره Codecademy را برای مبتدیان پیشنهاد کنم.
وقتی با خود جاوا اسکریپت احساس راحتی کردید، میتوانید وارد jQuery شوید. این یک کتابخانه JS است که کار با عناصر، مدیریت رویدادها و درخواستهای AJAX و غیره را بسیار آسانتر میکند.
برای مثال، این روش برای محو شدن یک عنصر و سپس حذف آن در جاوا اسکریپت خالص است:
let s = document.getElementById('thing').style;
s.opacity = 1;
(function fade(){
(s.opacity-=.1) < 0 ? s.display="none" : setTimeout(fade, 40)
})();
و این هم نحوه انجام همان کار با jQuery است:
$('#thing').fadeOut();
مستندات رسمی بسیار واضح و روشن است، بنابراین میتوانید یادگیری jQuery را از آنجا شروع کنید.
چند بار به چیزی به نام AJAX اشاره کردم. AJAX مخفف Asynchronous JavaScript and XML است. این روشی است که به وبسایتها اجازه میدهد بهطور سریع و افزایشی بهروزرسانیهای جزئی در رابط کاربری انجام دهند بدون اینکه کل صفحه مرورگر را مجدداً بارگیری کنند. برای مثال، وقتی کاربر روی یک دکمه ارسال کلیک میکند تا یک فرم با یک آزمون را ارسال کند، نتیجه آزمون بلافاصله در صفحه ظاهر میشود تا کاربر نیازی به بارگیری مجدد صفحه برای دیدن آن نداشته باشد. این باعث میشود وبسایت سریعتر و پاسخگوتر به اقدامات کاربر باشد.
علاوه بر این، وقتی یک توسعهدهنده وردپرس پیشرفته میشوید، میتوانید شروع به یادگیری React کنید. این یک کتابخانه JS دیگر برای ساخت اپلیکیشنهای وب پیچیده است. میتواند برای توسعه سازندهها (مانند گوتنبرگ یا دیوی) یا کامپوننتهای آنها برای وردپرس مفید باشد. همچنین، با WordPress REST API میتوانید اپلیکیشنهای وب پیچیدهای بسازید که در آن React مسئول فرانتاند و خود وردپرس مسئول بکاند خواهد بود. تا زمانی که به React وارد شوید، میتوانید بلوکهای گوتنبرگ سفارشی را به روش بسیار آسانتری بسازید.
بکاند
وردپرس بر روی PHP کار میکند. این یک زبان برنامهنویسی عمومی و متنباز است که به ویژه برای توسعه وب مناسب است و میتواند در HTML تعبیه شود. هسته وردپرس آن را با توابع خاص خود گسترش میدهد، اما شروع با PHP است. نحو پایه را یاد بگیرید، در مورد توابع و کلاسها، مدیریت خطا و فضاهای نام بخوانید.
مستندات رسمی در وبسایت رسمی در دسترس است، اما همانطور که معمولاً توصیه میشود، به روشی که برای خودتان راحتتر است یاد بگیرید. ویدیوهای یوتیوب را تماشا کنید، کتابچههای راهنما را بخوانید، دورههای آنلاین را بگذرانید، به کلاسهای کدنویسی بروید – این زندگی شماست 🙂
بعد از خود PHP، شروع کنید به غواصی در توابع هسته وردپرس، استانداردهای کدنویسی و غیره. همه اینها را میتوان در منابع توسعهدهنده وردپرس یافت. اصول اولیهترین آنها اقدامات و فیلترها هستند. من همچنین در این پست درباره نکات مفید برای توسعهدهنده وردپرس در مورد آنها نوشتم:
علاوه بر این، توصیه میکنم حداقل اصول اولیه MySQL را مطالعه کنید. این یک سیستم مدیریت پایگاه داده رابطهای (RDBMS) رایگان، متنباز و پرکاربرد است. به عبارت سادهتر، این یک پایگاه داده (DB) است که تمام اطلاعات وردپرس شما در آن ذخیره میشود. و برای دستکاری آن دادهها (افزودن/بهروزرسانی/حذف)، باید از SQL (زبان پرس و جوی ساختاریافته) استفاده کنید. مستندات رسمی MySQL میتواند کمی پیچیده باشد، بنابراین منابع دیگری برای یادگیری در دسترس است وبسایت W3Scools.com. یک منبع عالی برای یادگیری اصول اولیه MySQL است.
نتیجهگیری
برای خلاصه کردن تمام مطالب خوانده شده، این تصویر را در مورد نقشه راه برای توسعهدهنده وردپرس تهیه کردم:
در اینجا چند لینک وجود دارد که میتوانید در مورد همه این زبانها و فناوریها مطالعه کنید تا یک توسعهدهنده وردپرس ماهر شوید:
- HTML + CSS:
• W3Schools tutorial for HTML
• W3Schools tutorial for CSS
• MDN Web Docs for HTML
• MDN Web Docs for CSS - JavaScript + jQuery + React:
• MDN Web Docs
• Codecademy course
• W3Schools tutorial
• jQuery official docs
• MDN Web Docs for AJAX
• Official React docs
• W3Schools tutorial for React - PHP + WordPress core:
• PHP official manulas
• W3Schools tutorial for PHP
• WordPress developer resources - MySQL:
• W3Schools tutorial
راه شما در توسعه وردپرس چه بود؟ دریغ نکنید که داستانهای خود را در نظرات زیر بنویسید.
ممنون از مطالعه شما!
ایمن باشید و صلح با شما باشد!