تا کنون با خود فکر کرده‌اید که عملکرد واقعي وردپرس چيست

بسياري از کاربران براي اين سوال يک پاسخ ساده دارند و آن اينکه شما URL را تايپ مي کنيد و ظرف چند ثانيه سیستم مدیریت محتوای وردپرس صفحه را بارگذاري مي کند، ولي حقيقت اين است که در پشت اين تصوير ساده اتفاقات زيادي در سیستم مدیریت محتوای وردپرس رخ مي دهد. ما در نوشته اي که پيش روي شماست کارکرد سیستم مدیریت محتوای وردپرس را در پشت صحنه، نشان مي دهيم.  

چرا بايد از عملکرد سیستم مدیریت محتوای وردپرس آگاه باشيم

وردپرس يک نرم افزار open source(متن باز) است، يعني هر کسي مي تواند کد آن را بخواند و appها و تمپليت هاي خودش را براي آن بسازد. اينکه بدانيم سیستم مدیریت محتوای وردپرس چطور کار مي کند و چه اتفاقاتي در پشت صحنه روي مي دهد به شما کمک خواهد کرد تا به اين آگاهي برسيد که چه کارهايي مي توانيد با آن انجام دهيد. به اين ترتيب مي توانيد عملکرد سیستم مدیریت محتوای وردپرس را بهبود دهيد و کدهاي بهتري براي پروژه هاي خودتان بنويسيد. در اين راهنما ما قدم به قدم با شما همراه خواهيم بود. ما همه مراحل را از آغاز درخواست کاربر تا بارگذاري صفحه در اينجا توضيح مي دهيم. آماده ايد؟ بنابراين آغاز مي کنيم:  
  1. بارگذاري فايل wp-config.php

Wp-config.php يک فايل پيکربندي سیستم مدیریت محتوای وردپرس است. اين فايل متغيرهاي جهاني را براي يک سايت سیستم مدیریت محتوای وردپرس تنظيم کرده و حاوي اطلاعات پايگاه داده(ديتابيس) سیستم مدیریت محتوای وردپرس شماست. اين فايل به دلايلي اولين موردي است که توسط سیستم مدیریت محتوای وردپرس بارگذاري مي شود.
  1. تنظيمات پيش فرض ثابت ها (Constants)

پس از بارگزاري فايل wp-config.php، سیستم مدیریت محتوای وردپرس مقدارهاي ثابت را بررسي مي کند. اين مرحله شامل اطلاعاتي همچون محل نصب وردپرس، حداکثر اندازه فايل و ساير موارد پيشفرض ثابتي است که در فايل wp-config.php وجود دارد.
  1. بارگذاري فايل advanced-cache.php

اگر فايل advanced-cache.php بر روي سايت شما وجود داشته باشد، گزينه بعدي براي بارگذاري خواهد بود. در اصل advanced-cache.php  به عنوان يک فايل درج شده تصادفي است که توسط پلاگين‎هاي محبوب بسياري (مخصوصا پلاگين ذخيره سازي وردپرس) استفاده مي شود. در صورتي که سايت شما از اين فايل استفاده کند در صفحه پلاگين ها، يک آيتم جديد به نام Drop-ins خواهيد ديد.  
  1. بارگذاري فايل wp-content/ab.php

وردپرس به توسعه دهندگان اين امکان را مي دهد تا لايه هاي انتزاعي پايگاه داده(ديتابيس) خود را ايجاد کرده و آنها را در فايل db.php که در پوشه wp-content جاي گرفته، بارگزاري کنند. در بسیاری از موارد اين قابليت توسط پلاگين هاي ذخيره سازي سیستم مدیریت محتوای وردپرس براي بهبود عملکرد پايگاه داده استفاده مي شود. در صورتي که وب سايت شما اين فايل را داشته باشد سیستم مدیریت محتوای وردپرس آن را بارگذاري خواهد کرد.
  1. اتصال به MySQL و انتخاب پايگاه داده

اکنون سیستم مدیریت محتوای وردپرس اطلاعات کافي براي پيشروي بيشتر را در اختيار دارد. بنابراين به سرور MySQL متصل شده و پايگاه داده را انتخاب مي کند. اگر سیستم مدیریت محتوای وردپرس نتواند به پايگاه داده متصل شود با خطاي “Error establishing database connection” مواجه خواهيد شد و سیستم مدیریت محتوای وردپرس در اين نقطه متوقف خواهد شد. اگر همه چيز خوب پيش برود، وارد مراحل بعدي مي شود.
  1. بارگذاري فايل object-cache.php يا wp-includes/cache.php

اکنون سیستم مدیریت محتوای وردپرس به جستجوي فايل object-cache.php مي پردازد. در صورتي که اين فايل وجود نداشته باشد، فايل wp-includes/cache.php را بارگذاري مي کند.
  1. بارگذاري فايل wp-content/sunrise.php

اگر يک شبکه چند-سايته(مولتي سايت) باشد، سیستم مدیریت محتوای وردپرس در پوشه wp-content در صورت وجود، به دنبال فايل sunrise/php مي گردد.
  1. بارگذاري کتابخانه محلي

حال سیستم مدیریت محتوای وردپرس کتابخانه I10n.php را در پوشه wp-includes بارگذاري خواهد کرد. اين فايل سيستم محلي سیستم مدیریت محتوای وردپرس و ترجمه ها را بارگذاري مي کند، منطقه را تنظيم مي کند و … .
  1. بارگذاري پلاگين هاي مولتي سايت

اگر شبکه مولتي سايت باشد، سیستم مدیریت محتوای وردپرس پلاگين هاي مولتي سايت را بارگذاري خواهد کرد.  
  1. انجام عمل “muplugins-loaded”

عمل “muplugins-loaded” اکنون توسط سیستم مدیریت محتوای وردپرس اجرا مي شود. اين عمل فقط براي پلاگين هاي راه اندازي شبکه بر روي يک مولتي سايت سیستم مدیریت محتوای وردپرس قابل دسترسي است.
  1. بارگذاري پلاگين هاي فعال

وردپرس تمامي پلاگين هاي فعال بر روي سايت را بارگذاري خواهد کرد. درواقع سیستم مدیریت محتوای وردپرس ورودي هاي پلاگين هاي فعال در جدول آپشن هاي پايگاه داده سیستم مدیریت محتوای وردپرس شما را مورد بررسي قرار مي دهد. اين کار به سیستم مدیریت محتوای وردپرس اين امکان را مي دهد تا از پلاگين هايي که بر روي سايت نصب شده اند ولي فعال نيستند چشم بپوشد.
  1. بارگذاري فايل pluggable.php

فايل pluggable.php حاوي توابعي است که مي توان به وسيله پلاگين هاي سیستم مدیریت محتوای وردپرس آنها را دوباره تعريف کرد. اکنون سیستم مدیریت محتوای وردپرس بررسي مي کند که آيا توابع داخل اين فايل از قبل تعريف شده اند يا خير، در صورتي که توابع تعريف نشده باشند سیستم مدیریت محتوای وردپرس خود، آنها را تعريف خواهد کرد.
  1. انجام عمل “plugins-loaded”

در اين مرحله سیستم مدیریت محتوای وردپرس عمل “plugins-loaded” را اجرا مي کند. اين کار به توسعه دهندگان اجازه مي دهد  تا بعد از اينکه همه پلاگين ها بارگذاري شدند، توابع را آماده اجرا کنند.
  1. بارگذاري ضوابط بازنويسي (Rewrite Rules)

در اين مرحله سیستم مدیریت محتوای وردپرس ضوابط بازنويسي (Rewrite Rules) را بارگذاري مي کند. اين ضوابط به سیستم مدیریت محتوای وردپرس کمک مي کند تا از URLهاي مناسب براي SEO استفاده کند.
  1. نمونه سازي $wp-query، $wp-rewrite، $wp

در اين نقطه، سیستم مدیریت محتوای وردپرس موارد زير را بارگذاري مي کند: $wp-query: نمونه جهاني دارنده کلاس WP-Query. اين مورد به سیستم مدیریت محتوای وردپرس مي گويد که چه محتوايي در فرمت معمول کوئري سیستم مدیریت محتوای وردپرس درخواست شده است. $wp-rewrite: نمونه جهاني دارنده کلاس WP-Rewrite. اين مورد حاوي ضوابط و کارکردهاي بازنويسي شماست که به سیستم مدیریت محتوای وردپرس مي گويد براي نمايش محتواي درخواستي از چه URLي استفاده کند. $wp: نمونه جهاني کلاس WP است و حاوي کارکردهايي است که درخواست شما را تجزيه و کرده و کوئري هاي اصلي را اجرا مي کند.
  1. انجام عمل “setup-theme”

وردپرس اکنون به عمل “setup-theme” مبادرت مي کند. اين عمل قبل از اينکه تم سیستم مدیریت محتوای وردپرس شما بارگذاري شود اجرا مي گردد.
  1. بارگذاري فايل Child Theme’s functions.php

فايل functions.php به عنوان پلاگين عمل مي کند و در تم هاي سیستم مدیریت محتوای وردپرس براي اضافه کردن تمي با ويژگي هاي خاص براي وب سايت شما مورد استفاده قرار مي گيرد. در صورتي که از تم کودک استفاده مي کنيد، سیستم مدیریت محتوای وردپرس در اين مرحله فايل functions.php تم کودک شما را بارگذاري خواهد کرد. در غير اينصورت، به راه خود ادامه داده و فايل  functions.php  را براي تم فعال کنوني شما بارگذاري مي کند.
  1. بارگذاري فايل Parent Theme’s functions.php

اگر از تم کودک استفاده مي کنيد، سیستم مدیریت محتوای وردپرس در اين قسمت فايل functions.php تم والد را بارگذاري خواهد کرد.
  1. انجام عمل ‘after-set-up-theme’

اين عمل بنابراين از اينکه سیستم مدیریت محتوای وردپرس تم را تنظيم کرده و توابع آن را بارگذاري مي کند اجرا مي گردد و اولين اقدام موجود براي تم ها محسوب مي شود.
  1. تنظيم هدف کنوني کاربر

وردپرس در اين مرحله هدف جاري کاربر را بارگذاري مي کند. اين کار به سیستم مدیریت محتوای وردپرس اجازه مي دهد درخواست ها را طبق قابليت ها و نقش کاربر مديريت کند.
  1. انجام عمل ‘init’

تاکنون سیستم مدیریت محتوای وردپرس تمامي اطلاعات حياتي مورد نياز را بارگذاري کرده است. حال عمل ‘init’ را انجام مي دهد. اين عمل براي توسعه دهندگان اين امکان را به وجود مي آورد تا بنابراين از اينکه سیستم مدیریت محتوای وردپرس تمامي اطلاعات قبلي ذکر شده را بارگذاري کرد، کدهاي مورد نياز را به آن اضافه کنند.
  1. انجام عمل ‘widget-init’

عمل ‘widget-init’ به توسعه دهندگان اجازه مي دهد ابزارک ها را رجيستر کرده و کدهاي مورد نياز را در اين زمان اجرا کنند.
  1. اجراي wp()

اکنون سیستم مدیریت محتوای وردپرس در فايل wp-includes/functions.php، به سراغ wp() مي رود. اين مورد به تنظيم پشتيبان هاي کوئري سیستم مدیریت محتوای وردپرس يعني $wp، $wp-query و $wp-the-query پرداخته و سپس به سراغ $wp->main مي رود.
  1. درخواست تجزيه

اکنون سیستم مدیریت محتوای وردپرس تمامي اطلاعات مورد نياز براي تجزيه درخواست کاربر را در اختيار دارد. در ابتدا ضوابط بازنويسي چک مي گردد تا مطمئن شود با درخواست کاربر همخواني دارد. و سپس فيلترهاي متغير کوئري اجراشده، عمل درخواست شکل گرفته و درخواست عنوان ارسال مي شود.
  1. اجراي کوئري

اگر هيچ محتوايي با کوئري همخواني نداشته باشد، آنگاه سیستم مدیریت محتوای وردپرس متغير is-404 را تنظيم مي کند. در غير اين صورت، سیستم مدیریت محتوای وردپرس به بارگذاري متغيرهاي کوئري ادامه مي دهد. سپس WP_Query->get_posts() اجرا مي شود.. وردپرس اکنون apply-filters را اجرا مي کند تا کوئري را پيرايش کرده و برخي بررسي هاي نهايي انجام بگيرند. حال سیستم مدیریت محتوای وردپرس پست ها را از ديتابيس برداشته و posts-results و the-posts filters را اعمال مي کند. بخش کوئري با بازگرداندن پست ها توسط سیستم مدیریت محتوای وردپرس پايان مي يابد.
  1. انجام عمل ‘template-redirect’

اکنون سیستم مدیریت محتوای وردپرس عمل ‘template-redirect’ را اجرا مي کند. اين مورد درست قبل از اينکه سیستم مدیریت محتوای وردپرس تعيين کند چه صفحه تمپليتي را بارگذاري کند اجرا مي شود.
  1. بارگذاري Feed Template

اگر محتواي درخواست شده RSS feed باشد، سیستم مدیریت محتوای وردپرس تمپليت feed را بارگذاري مي کند.
  1. بارگذاري تمپليت

اکنون سیستم مدیریت محتوای وردپرس براساس سلسله مراتب تمپليت سیستم مدیریت محتوای وردپرس به جستجوي فايل تمپليت مي پردازد. سپس تمپليتي را که در بسیاری از موارد حاوي يک حلقه سیستم مدیریت محتوای وردپرس است  بارگذاري مي کند.
  1. انجام عمل ‘shutdown’

به آخرين اقدام وردپرس، درست قبل از پايان يافتن اجراي تمامي PHP ها، shutdown گفته مي شود. در اينجا کار سیستم مدیریت محتوای وردپرس متوقف مي شود. سیستم مدیریت محتوای وردپرس کد را اجرا کرده و صفحه درخواستي کاربر را ايجاد کرده است. اکنون سرور ميزبان وب با ارسال صفحه وب ايجاد شده توسط وردپرس، به درخواست کاربر پاسخ مي دهد. اين صفحه حاوي کد جاوا اسکريپت، CSS و HTML مي باشد که به مرورگر کاربر دستور مي دهد چگونه صفحه را بر روي اسکرين نمايش دهد. شگفت انگيز است مگر نه؟ همه اين اتفاقات ظرف چند ميلي ثانيه رخ مي دهند. در صورتي که شما از سرویس‌هایِ برترِ میزبانیِ وردپرس استفاده کنيد، صفحه شما ظرف چند ثانيه بارگذاري خواهد شد. اميدواريم اين مقاله به شما کمک کرده باشد و از آنچه سیستم مدیریت محتوای وردپرس در پشت صحنه انجام مي دهد مطلع شده باشيد. در صورت رضايت از اين مقاله نظر خود را با ما در ميان بگذاريد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *