وردپرس چگونه در پشت صحنه کار میکند
آنچه در این مطلب خواهید خواند
آیا تا به حال فکر کردهاید که وردپرس در پشت صحنه چگونه کار میکند؟ برای یک کاربر معمولی، ساده به نظر میرسد. URL را تایپ میکند و صفحه در چند ثانیه بارگیری میشود، اما اتفاقات زیادی برای وردپرس در پشت صحنه میافتد. در این راهنما، نحوه عملکرد وردپرس در پشت صحنه را به شما آموزش میدهیم.
فهرست:
وردپرس یک سایتساز و سیستم مدیریت محتوا است. این نرم افزار متن باز می باشد و هر کسی میتواند از آن برای ایجاد هر نوع وب سایت قابل تصوری استفاده کند.
وردپرس به عنوان یک پلت فرم وبلاگ نویسی در سال ۲۰۰۳ شروع به کار کرد اما خیلی زود به یک CMS و بعداً یک پلت فرم ساخت وب سایت کامل تبدیل شد. امروزه بیش از ۳۸ درصد از تمام وب سایت های موجود در اینترنت را پوشش میدهد.
هر کسی میتواند کدهای وردپرس را مطالعه کند و افرونه ها (پلاگین ها) و قالب های (تم ها) خود را برای آن بنویسد.
یادگیری نحوه عملکرد وردپرس در پشت صحنه و آنچه در پشت صحنه میگذرد میتواند به شما کمک کند تا بفهمید با آن چه کاری میتوانید انجام دهید. میتوانید در مورد بهبود عملکرد وردپرس در پشت صحنه بیاموزید و کدهای بهتری برای پروژه های خود بنویسید.
این راهنما شما را در کل فرآیند گام به گام راهنمایی میکند.
آماده اید؟ بیاید شروع کنیم
wp-config.php فایل پیکربندی وردپرس است. متغیرهای جهانی را برای سایت وردپرس تنظیم می کند و حاوی اطلاعات پایگاه داده وردپرس شما است. این اولین فایلی است که باید دانلود کنید.
پس از دانلود فایل wp-config.php، وردپرس به سمت تنظیم دستورالعملهای پیش فرض اقدام میکند. این شامل اطلاعاتی مانند: مکان آپلود پیشفرض وردپرس، حداکثر اندازه فایل و سایر دستورالعمل های پیشفرض تنظیمشده در فایل wp-config.php است.
اگر فایل advanced-cache.php در سایت شما وجود داشته باشد، وردپرس آن را دانلود میکند. این فایل به عنوان یک فایل کشویی عمل میکند و توسط چندین افزونه محبوب به ویژه افزونههای کش وردپرس استفاده میشود. اگر سایت شما از این فایل استفاده میکند، آیتم جدیدی به نام Drop-ins را در صفحه افزونهها مشاهده خواهید کرد.
وردپرس به توسعهدهندگان اجازه میدهد تا لایههای انتزاعی پایگاه داده خود را ایجاد کرده و آنها را در یک فایل db.php که در داخل پوشه wp-content قرار داده شده است بارگذاری کنند. معمولاً توسط افزونههای کش وردپرس برای بهبود عملکرد پایگاه داده استفاده میشود. اگر وب سایت شما این فایل را دارد، وردپرس آن را دانلود میکند.
اکنون وردپرس اطلاعات کافی برای ادامه کار دارد و برای اتصال به سرور MySQL و انتخاب پایگاه داده اقدام میکند.
اگر وردپرس نتواند به پایگاه داده متصل شود، خطای « خطا در ایجاد اتصال به پایگاه داده » را مشاهده میکنید و وردپرس از اینجا خارج میشود.
اگر همه چیز خوب کار کند، به مراحل بعدی میرود.
وردپرس اکنون به دنبال فایل object-cache.php خواهد بود. اگر وجود نداشته باشد، وردپرس به بارگیری فایل wp-includes/cache.php ادامه خواهد داد.
اگر شبکه چند سایتی است، وردپرس اکنون به دنبال فایل sunrise.php در صورتی که در پوشه wp-content وجود داشته باشد، میگردد.
وردپرس اکنون کتابخانه l10n.php را در پوشه wp-includes بارگیری میکند. این فایل سیستم محلی سازی وردپرس و ترجمه ها را بارگیری میکند و مناطق محلی را تنظیم میکند.
اگر شبکه چند سایتی باشد، وردپرس اکنون افزونههای چند سایتی را بارگیری میکند.
action muplugins_loaded اکنون توسط وردپرس اجرا میشود. این اقدام فقط برای افزونههای فعال شده شبکه در یک سایت چندگانه وردپرس در دسترس است.
اکنون وردپرس تمام افزونههای فعال را در سایت بارگذاری میکند. این کار را با نگاه کردن به ورودی active_plugins در جدول گزینههای پایگاه داده وردپرس شما انجام میدهد. این کار به وردپرس اجازه میدهد تا افزونههایی را که در سایت شما نصب شدهاند اما فعال نشدهاند را نادیده بگیرد.
فایل pluggable.php شامل توابعی است که توسط افزونههای وردپرس قابل تعریف مجدد هستند. اکنون وردپرس را میبیند که آیا توابع داخل این فایل قبلاً توسط افزونه دیگری تعریف شده است یا خیر. در غیر این صورت، خود آن توابع را تعریف می کند.
وردپرس اکنون عمل “plugins_loaded” را اجرا خواهد کرد. این امر به توسعهدهندگان اجازه میدهد تا پس از بارگیری همه افزونههای فعال، عملکردهای خود را برای اجرا درآورند.
وردپرس اکنون قوانین بازنویسی را بارگیری میکند. این قوانین بازنویسی به وردپرس کمک میکند تا از URL های بهینه استفاده کند.
در این مرحله وردپرس موارد زیر را بارگذاری میکند:
$wp_query:نمونه جهانی که کلاس WP_Query را نگه میدارد. این به وردپرس میگوید که چه محتوایی در قالب پرس و جوی معمولی وردپرس درخواست شده است.
$wp_rewrite:نمونه جهانی که کلاس WP_Rewrite شما را نگه می دارد. این شامل قوانین و توابع بازنویسی شما است که به وردپرس میگوید از کدام URL برای نمایش محتوای درخواستی استفاده کند.
$wp:نمونه جهانی کلاس WP که حاوی توابعی است که درخواست شما را تجزیه میکند و پرس و جو اصلی را انجام میدهد.
وردپرس اکنون به اجرای اکشن «setup_theme» میپردازد. این عمل قبل از دانلود قالب وردپرس شما اجرا می شود.
فایل functions.php به عنوان افزونه عمل میکند و در قالبهای وردپرس برای افزودن ویژگیهای خاص تم به وب سایت شما استفاده میشود. اگر از طرح زمینه کودک استفاده میکنید، وردپرس اکنون فایل functions.php تم فرزند شما را دانلود میکند.
در غیر این صورت، ادامه مییابد و فایل functions.php تم فعال فعلی شما دانلود میشود.
اگر از =تم فرزند استفاده میکنید، وردپرس اکنون فایل functions.php تم اصلی شما را دانلود میکند.
این عمل پس از تنظیم تم و بارگذاری توابع تم توسط وردپرس اجرا میشود. این اولین اقدام در دسترس برای تم است.
در این مرحله، وردپرس هدف کاربر فعلی را بارگذاری میکند. این به وردپرس اجازه میدهد تا درخواست را مطابق با نقش و قابلیتهای کاربر مدیریت کند .
وردپرس تا کنون تمام اطلاعات حیاتی مورد نیاز خود را بارگذاری کرده است. اکنون اکشن ‘init’ را اجرا میکند.
این عمل به توسعهدهندگان اجازه میدهد تا کدی را اضافه کنند که باید پس از بارگذاری همه اطلاعات ذکر شده قبلی وردپرس اجرا شود.
این عمل widget_init به توسعهدهندگان اجازه میدهد تا ویجتها را ثبت کنند و کدهایی را که برای اجرا در این زمان نیاز داشتند اجرا کنند.
اکنون وردپرس wp()تابعی را که در wp-includes/functions.phpفایل قرار دارد فراخوانی میکند. پرس و جوی وردپرس را به صورت جهانی $wp، $wp_query، $wp_the_query تنظیم می کند و سپس $wp->main را فرا میخواند.
اکنون وردپرس تمام اطلاعات مورد نیاز برای تجزیه درخواست کاربر را دارد. با بررسی قوانین بازنویسی برای مطابقت با درخواست کاربر شروع می شود.
و سپس فیلترهای متغیر پرس و جو را اجرا میکند، هوک اقدام را درخواست میکند و درخواست هدر را ارسال میکند.
اگر هیچ محتوایی مطابقت نداشته باشد، وردپرس متغیر ارور ۴۰۴ را تنظیم میکند.
در غیر این صورت، وردپرس به بارگذاری متغیرهای پرس و جو ادامه خواهد داد.
سپس WP_Query->get_posts() را اجرا میکند.
در مرحله بعد، DO_ACTION_REF_ARRAY عمل “pre_get_posts” را با شی WP_Query اجرا می کند.
وردپرس اکنون application_filters را برای پاک کردن پرس و جو و اجرای برخی بررسیهای نهایی اجرا میکند.
اکنون پست ها را از پایگاه داده بازیابی میکند و فیلترهای posts_results و the_posts را اعمال میکند.
قسمت پرس و جو با بازگرداندن پستها توسط وردپرس به پایان میرسد.
اکنون وردپرس اکشن template_redirectا را اجرا خواهد کرد. این اکشن درست قبل از اینکه وردپرس تعیین کند کدام صفحه قالب را بارگیری کند اجرا می شود.
اگر محتوای درخواستی فید RSS باشد، وردپرس قالب فید را بارگیری می کند.
اکنون وردپرس به دنبال فایل قالب بر اساس سلسله مراتب قالب وردپرس میگردد. سپس قالبی را بارگیری میکند که معمولاً حاوی یک حلقه وردپرس است .
درست قبل از پایان اجرای تمام PHP، وردپرس آخرین اقدامی به نام shutdown را اجرا می کند.
وردپرس در اینجا کار نمیکند. کد را اجرا کرده و صفحه وب درخواستی کاربر را ایجاد کرده است.
اکنون سرور میزبانی وب شما با ارسال صفحه وب تولید شده توسط وردپرس در پشت صحنه به درخواست کاربر پاسخ میدهد. این صفحه حاوی کدهای HTML، CSS و جاوا اسکریپت است که به مرورگر کاربر میگوید چگونه آن را روی صفحه نمایش دهد.
شگفت انگیز است نه؟ همه این چیزها در چند میلی ثانیه اتفاق میافتد. اگر از یکی از این بهترین خدمات میزبانی وردپرس استفاده میکنید، در حالت ایده آل صفحه شما در چند ثانیه بارگیری میشود.
امیدواریم این مقاله به شما در یادگیری نحوه عملکرد وردپرس در پشت صحنه کمک کرده باشد. اگر سؤال در این مورد دارید، لطفاً با تیم پشتیبانی ما تماس بگیرید تا در اسرع وقت به شما کمک کنند.