زمانی که بحث وردپرس و توسعه آن پیش میآید سوالات زیادی در ذهن کاربران شکل میگیرد. مهمترین و اولین سوال این است که زبان وردپرس چیست؟
بسیاری اوقات افراد میخواهند بدانند که برای توسعه وردپرس باید چه زبانهایی را یاد بگیرند؟ آیا باید ابتدا PHP یاد بگیرند؟ یا جاوا اسکریپت ؟ پس HTML و CSS کجای ماجرا هستند؟ در ادامه قرار است بیشتر در این باره صحبت کنیم.
زبان وردپرس چیست؟
برای اینکه بتوانید با وردپرس کار کنید، جدای از اینکه باید کمی با زبانهای برنامه نویسی آشنا باشید، باید مفاهیم پایه را بدانید. این کارتان را راحتتر میکند.
PHP
خب، همان طور که گفتیم هسته وردپرس با PHP نوشته شده است.
به طور مثال میتوان گفت که PHP موتور وردپرس است. در واقع با استفاده از زبان برنامه نویسی PHP وردپرس روی سرور اجرا میشود.
زبان PHP باعث میشود که صفحات ساخته شوند و در کنار هم قرار بگیرند. این قابلیتها هستهی مرکزی سایت شما را تشکیل میدهند. پس اولین قدم برای درک درست وردپرس یادگیری زبان PHP است.
در ابتدا PHP فقط برای سادهتر کردن فرایند ساخت صفحات HTML ساخته شد. به طور پیش فرض دستور به زبان PHP نوشته میشود و نتیجه آن در قالب یک صفحه HTML نمایش داده میشود، که در نتیجه بازدیدکنندگان میتوانند آن را ببینند.
<?php
$variable = 4;
$math = $variable + 1;
if ( $math > $variable ) {
echo 'Yay. Math yielded '.$math.'! '; // User's screen will show: "Yay. Math yielded 5! "
echo 'Variable was '.$variable.'.'; // User's screen will show: "Variable was 4."
}
?>
<p>I'm an HTML paragraph. Hi!</p>
<?php if (true) : ?>
<p>I'm HTML that will render, because I'm inside a true if-statement.</p>
<?php endif; ?>
<?php if (false) : ?>
<p>I'm HTML that won't render, because I'm inside a false if-statement.</p>
<?php endif; ?>
این یک مثال از یک قطعه کد با زبان PHP است.
برای درک بهتر این قطعه کد باید با یکسری نکات اولیه آشنا شوید:
- اول از همه اینکه، هر چیزی که در داخل تگ شروع و پایان PHP قرار نگیرد فقط یک کد ساده HTML است. (
<?php
?>
) هرچند زمانی که سرور یک فایل PHP را پردازش میکند، نتیجه آن را درست شبیه به یک فایل HTML نشان میدهد. - متغییرها در PHP حتما با علامت $ (دلار) همراه هستند. کار کردن با متغییرها در PHP درست شبیه به کاری است که در ریاضیات انجام میدهیم.
- همیشه منطق PHP به این شکل است که محتوای HTML درون خودش را کنترل میکند. برای مثال، به عبارت درون if اول دقت کنید. این عبارت فقط در صورتی که true باشد HTML درون آن نمایش داده میشود. در غیر اینصورت HTML آن نمایش داده نمیشود. یعنی زمانی که False باشد.
- در PHP برای اینکه نتیجه نهایی در قالب HTML چاپ شود باید از دستور echo استفاده کنید. همان طور که در شروع این مثال میبینید، دو متغییر دارای دستور echo هستند که هر دو ترکیبی از رشتههای متنی معمولی و متغییرهای PHP هستند.
این مقدمات کمک میکند که کمی دستورات PHP را متوجه شوید. اما این تمام ماجرا نیست!
HTML
HTML زبان پایه وب است. میتوان به طور خلاصه و کلی اینطور گفت که وب بر اساس HTML ساخته شده است. HTML مخفف عبارت hypertext markup language میباشد. تمامی صفحاتی که به همراه محتوای درونشان در اینترنت میبینید با یک نسخه از HTML ساخته شدهاند.
فراموش نکنید که HTML یک زبان برنامه نویسی نیست، بلکه یک زبان نشانه گذاری است. یک فایل HTML دارای تگهای بسیاری است که نقش هر متن معمولی و ساده را به وضوح مشخص میکنند. در صورتی که فایل HTML تگی نداشته باشد فقط یک فایل متنی ساده است.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Page Title in Search Results</title>
</head>
<body>
<h1>Page Title at Top of Page</h1>
<p class="lorem">Lorem ipsum dolor sit amet…</p>
</body>
</html>
شبیه به PHP در اینجا هم تگ آغازین و پایانی داریم. برای مثال به خط ۷ این مثال دقت کنید. در اینجا یک تگ H1 داریم. متن درون این تگ به شکل یک header نمایش داده میشود. تگ <p> در خط بعدی به این معنی است که متن درون آن جز یک پاراگراف است.
البته همیشه در HTML تگ پایانی نداریم. برای مثال به <meta charset=”UTF-8″ /> دقت کنید. در اینجا این فقط یک چهارچوب برای فایل HTML است.
یکی دیگر از قابلیتهایی که تگهای HTML دارند کلاس آنهاست. در HTML هر تگ میتواند به یک کلاس (class) تعلق داشته باشد. برای مثال به تگ <p> در خط ۷ دقت کنید. این تگ دارای کلاس Lorem است. این کلاس به یک فایل و دستور CSS برمیگردد. به این معنی که این المان دقیقا چه شکلی نمایش داده شود.
CSS
با استفاده از CSS میتوانید کاری کنید که متنهای ساده و صفحات بی آلایش ظاهر خوبی داشته باشند. CSS مخفف عبارت Cascading Style Sheets است. تمامی صفحات مدرن امروزی با استفاده از CSS استایل دهی میشوند.
با استفاده از CSS میتوانید تک تک المانهای موجود در یک فایل HTML را با یک ظاهر از پیش تعریف شده و دلخواه نمایش دهید. برای مثال از تگ H1 گرفته تا کلاس Lorem همگی قابلیت استایل دهی دارند.
.lorem {
color: #325050;
background: #fff;
font-family: 'Libre Baskerville', sans-serif;
font-size: .85rem;
}
در CSS ابتدا باید مشخص کنید که قرار است به کدام المان استایل بدهید. در اینجا ما قرار است که کلاس Lorem را استایل دهی کنیم. در CSS کلاسها با استفاده از dot مشخص میشوند.
در نتیجه هر المانی که متعلق به این کلاس باشد با این ظاهر تعریف شده نمایش داده میشود. در استفاده از CSS نکته مهم اینجاست که بدانید برای هر المان از چه ویژگی استفاده کنید. این روند در نتیجه کلی وبسایت تاثیرگذار است.
جاوا اسکریپت
جاوا اسکریپت زبان مرورگرهاست. در واقع جاوا اسکریپت مشخص میکند که هر صفحه HTML بعد از اینکه در مرورگر کاربر باز شد به چه صورت نمایش داده شود.
برای مثال زمانی که کاربر بر روی یک کلید کلیک میکند و با اینکار رنگ کلید عوض میشود، کلید مورد نظر ناپدید میشود. این دقیقا کاری است که جاوا اسکریپت انجام میدهد.
برخی فکر میکنند که قالب وردپرس بدون جاوا اسکریپت به خوبی کار نمیکند. اما یک قالب میتواند بدون داشتن یک خط جاوا اسکریپت به کارش ادامه دهد. موضوع اینجاست که هر چه جلوتر میرویم حضور جاوا اسکریپت در وردپرس پر رنگتر میشود.
دلیل این امر این است که با استفاده از جاوا اسکریپت میتوان صفحات وب تعاملیتری ساخت و این موضوع تاثیر مستقیمی بر روی تجربه کاربری دارد.
( function( $ ) {
// 1. Define variables
var navMenu = '.primary-navigation';
var pageContent = '.main-content';
var gap = parseInt( $( 'html' ).css( 'font-size' ), 10 ) * 2;
// 2. Define function to give min-height
function setPageMin() {
var height = $( navMenu ).height();
$( pageContent ).css( 'min-height', height + gap );
}
$( window ).load( function() {
// 3. Run function on first window load
setPageMin();
// 4. Run function every 120 MS when window resized
$( window ).resize( function() {
setTimeout( function() {
setPageMin();
}, 120);
});
});
})(jQuery);
این یک مثال از جاوا اسکریپت است.
SQL
تا به حال به این فکر کردهاید که برای ذخیره تمامی اطلاعات و محتوای درون وبسایتتان چه چیزی نیاز است؟ کاری که MySQL انجام میدهد دقیقا همین است. اطلاعاتی که در MySQL ذخیره میشوند به صورت پویا توسط PHP بازیابی میشوند.
تمامی محتوای درون یک صفحه و پستی که در وردپرس ایجاد میشود همه در یک پایگاه داده ذخیره میشوند. برای اینکه ارتباط مطمئن و ایمنی با پایگاه داده داشته باشید وردپرس به سراغ یکسری توابع PHP رفته است. برخی از این توابع از SQL استفاده میکنند.
قالبهای وردپرس چگونه نوشته میشوند؟
همان طور که میدانید قالبهای وردپرس چیدمان و نحوه نمایش یک وبسایت وردپرس را مشخص میکنند. در قالبهای مدرن و جدید HTML5، CSS3 و طراحی ریسپانسیو نقش بسیار مهمی دارند. در ساخت قالبهای وردپرس از توابع بسیاری که در هسته وردپرس استفاده شده بهره گرفته میشود. پس برای اینکه درک بهتری از ساختار یک قالب داشته باشید بهتر است به سراغ PHP بروید.
پلاگینهای وردپرس چگونه نوشته میشوند؟
در وردپرس برای اینکه رفتار وبسایت را تغییر دهید یا قابلیتهای بیشتری به آن اضافه کنید حتما نباید کدهای اصلی هسته را دستکاری کنید. خب، این دقیقا کاری است که افزونههای وردپرس انجام میدهند.
در ساخت افزونههای وردپرس از PHP استفاده شده است. پس برای اینکه بدانید این پلاگینها چطور کار میکنند باید به سراغ این زبان بروید. حداقل باید بدانید که چطور یک تابع تعریف کنید و آن را فراخوانی کنید. تابعها در وردپرس کدهای مستقلی هستند که با کدهای هسته در ارتباطاند.
آیا وردپرس به Node.js نقل مکان میکند؟
چندی پیش وردپرس دو آپدیت مهم خود (ویرایشگر گوتنبرگ و پنل مدیریتی Calypso) را با استفاده از Node.js عرضه کرد.
Node.js یک محیط اجرایی جاوا اسکریپت است که به برنامهنویسان اجازه میدهد از جاوا اسکریپت در سمت سرور استفاده کنند. همچنین کتابخانههای جاوا اسکریپت پیشرفتهای مثل React وجود دارند که در ساخت بسیاری از اپهای امروزی استفاده میشوند.
پس آیا وردپرس به سمت استفاده از جاوا اسکریپت به عنوان زبان اصلی خود پیش میرود؟
وردپرس میگوید که برنامهای برای بازنویسی این پلتفرم بر اساس Node.js ندارد. اما اهمیت روز افزون جاوا اسکریپت در آپدیتهای وردپرس کاملا مشخص است.
پس اگر تا اینجا با PHP کار کردهاید نیازی نیست بلافاصله به سمت جاوا اسکریپت بروید. اما از Node.js و React غافل نشوید.
یادگیری زبان وردپرس را از کجا شروع کنم؟
یکی از مزیتهای وردپرس این است که این زبان برای همه کاربران قابل فهم و یادگیری است. در واقع هر کاربر با داشتن اطلاعات پایه میتواند به راحتی از این CMS استفاده کند. همین موضوع باعث شده است که وردپرس به محبوبترین سیستم مدیریت محتوای جهان تبدیل شود.
برای یادگیری وردپرس باید به سراغ زبانهایی بروید که این CMS از آنها استفاده میکند. اما قبل از هر چیز باید با زبان نشانه گذاری وب آشنا شوید، یعنی HTML. در کنار یادگیری HTML باید نسخه جدیدتر آن یعنی HTML5 هم یاد بگیرید.
یادگیری HTML به تنهایی فایدهای ندارد، زیرا در این حالت فقط با صفحات ساده و متنی سر و کار دارید. برای اینکه بتوانید وبسایت خود را با ظاهر دلخواهتان طراحی کنید باید به سراغ CSS بروید. CSS هر چیزی که برای استایل دهی نیاز دارید را در خود دارد.
خب، مرحله بعدی یادگیری جاوا اسکریپت است. جاوا اسکریپت زبان مرورگر است. با استفاده از جاوا اسکریپت میتوانید تجربه کاربری وبسایتتان را بهبود ببخشید و آن را تعاملیتر کنید.
اما مهمترین بخش یادگیری، یادگیری زبان اصلی وردپرس یعنی PHP است. وردپرس تماما بر پایه PHP ساخته شده است. پس برای اینکه ساز و کار این CMS را درک کنید باید با این زبان و دستورات آن بیشتر آشنا شوید. البته این زبان فقط در هسته وردپرس به کار نرفته است بلکه در افزونهها و قالبهای وردپرس هم استفاده شده است. پس اگر به دنبال این هستید که توسعه دهنده قالب یا افزونه شوید باید PHP را یاد گرفته باشید.
نتیجهگیری
فراموش نکنید که این زبانها تنها انتخابهایتان نیستند، اما پایه و اساس برای یادگیری وردپرس و استفاده از آن هستند.
ممکن است یادگیری این زبانها زمانبر باشد. اما در نهایت میتوانید با استفاده از این زبانهای قدرتمند، در توسعهی وردپرس سهیم باشید.