راهنمای مبتدیان برای توابع داخلی وردپرس
راهنمای مبتدیان برای توابع داخلی وردپرس
WordPress geekiness یک سلیقه اکتسابی است و با هر چیز جدیدی که یاد می گیرید بهتر می شود. همه ما مدت زیادی است که از وردپرس استفاده می کنیم – این یکی از دلایلی است که شما در اینجا در WPExplorer هستید و این مقاله را می خوانید! من نیز مانند شما به طور تصادفی با این هنر زیبا برخورد کردم و مجذوب زیبایی محض آن شدم. وردپرس نه تنها به ما این امکان را می دهد که در عرض چند دقیقه وب سایت های پویا و جذاب را منتشر کنیم، بلکه از آن به عنوان راه حل مدیریت محتوای چند بعدی (CMS) نیز استفاده می کنیم.
به عنوان نکته جانبی، مایلم اشاره کنم که این مقاله برای یک مبتدی وردپرس در نظر گرفته شده است. شاید بیشتر شما بدانید که من در مورد چه چیزی صحبت می کنم. پس لطفاً آن را سریع بخوانید و نظرات خود را در بخش نظرات به اشتراک بگذارید. با تشکر!
برای بازگشت به مسیر، بیایید به کارهایی که میتوانیم با استفاده از وردپرس انجام دهیم نگاهی بیندازیم:
- وب سایت مجله – TIME، GigaOM، TechCrunch، همه از WordPress.com VIP استفاده می کنند
- چندین وب سایت را زیر یک سقف میزبانی کنید (مثلاً وردپرس چند سایت)
- یک انجمن بسازید
- نمونه کارها آنلاین
- میزبان یک پورتال شغلی
- فروشگاه تجارت الکترونیک
- فتوبلاگ یا نمونه کار عکاسی
- سایت یک گروه موسیقی، رستوران و موارد دیگر
لیست ادامه دارد. این مقاله به عنوان پیشرو برای سری پست های آینده ما – راهنمای قطعی برای ذخیره وردپرس – عمل می کند. قبل از درک حافظه پنهان وردپرس، باید بدانیم که وردپرس چگونه به صورت داخلی کار می کند. نه فقط ویرایش و حذف پستها و نظرات – بلکه چگونه چند هزار خط کد بین یکدیگر در هم تنیده شده و وبسایتهای پویا زیبا تولید میکنند.
عملکرد داخلی وردپرس
همه ما می دانیم که چگونه با وردپرس کار کنیم. همه چیز با ورود به داشبورد مدیر وردپرس شما شروع می شود – درست از your-site/wp-login.php و سپس انتشار، اصلاح یا آپلود محتوای جدید، نصب افزونه ها، تم ها، تهیه نسخه پشتیبان و غیره.
اما آیا به این فکر کردهاید که این کل چگونه کار میکند؟ وب سایت ها بر روی HTML (که مخفف زبان نشانه گذاری هایپر متن است) اجرا می شوند. نوار آدرس خود را بررسی کنید – همیشه https://sitename.tld را پیدا خواهید کرد. پروتکل های دیگر عبارتند از https، ftp، ssh و غیره.
بنابراین می توان فهمید که هدف نهایی وردپرس، تولید صفحات HTML – به صورت پویا است. اصطلاح کلیدی برای درک در اینجا “دینامیک” است. اصطلاحات «صفحه HTML»، «صفحه وب» و «صفحه وب» همگی مترادف هستند. وردپرس در سطح بسیار ابتدایی از PHP و پایگاه داده SQL برای ذخیره تمام داده های خود استفاده می کند. ما نیازی به نگرانی زیادی با PHP و سایر زبان های اسکریپت نویسی که وردپرس استفاده می کند نداریم، زیرا این یک راهنمای مبتدی است و موضوعات پیشرفته ای هستند.
بنابراین، ما دو موجودیت داریم. یکی “کد پی اچ پی” است که هسته وردپرس را تشکیل می دهد و “پایگاه داده” که حافظه وردپرس را تشکیل می دهد. هر نصب وردپرس دارای یک پایگاه داده است. نه بیشتر نه کمتر. هر بیت اطلاعاتی که وارد کرده اید و در آینده انجام خواهید داد در پایگاه داده وردپرس ذخیره می شود. مثالها عبارتند از:
- اطلاعات کاربر مانند رمز عبور (رمزگذاری شده با MD5)، آدرس ایمیل و غیره
- همه پست ها، صفحات، برچسب ها، دسته ها و رابطه بین آنها
- انواع پست سفارشی
- بازبینیها، پیشنویسها و گزینههای حذفشده را پست کنید
- نظرات – هم تایید شده و هم تایید نشده و هرزنامه
- گزینه های طرح زمینه و داده های افزونه
تصاویر، اسناد و سایر فایلهایی که آپلود میشوند چطور؟ آیا آنها بیش از حد در پایگاه داده وردپرس ذخیره می شوند؟ جواب منفی. آنها در پوشه ای به نام “wp_content” ذخیره می شوند. اطلاعات بیشتر در این مورد در ادامه آمده است.
ساختار پوشه وردپرس
از وردپرس 3.6.1، سه پوشه اصلی در هر نصب وردپرس وجود دارد.
پوشه پایه
این دایرکتوری نصب وردپرس و همه چیز است (به غیر از پایگاه داده وردپرس در اینجا وجود دارد). ما آن را “دایرکتوری ریشه” می نامیم. در مورد افرادی که وردپرس را در سرورهای میزبان اشتراکی که توسط cPanel ارائه میشوند، اجرا میکنند، اگر شما وردپرس را در دامنه اصلی خود (یعنی site.com و نه site.com/) اجرا میکنید، احتمالاً دایرکتوری ریشه محتویات دایرکتوری “public_html” است. پوشه).
دایرکتوری ریشه وردپرس دقیقاً شامل سه پوشه است: wp_content، wp_includes و wp_admin به همراه تعدادی فایل PHP دیگر که مهمترین آنها “wp_config.php” است. با اصلاح این فایل، میتوانیم مجموعهای از گزینههای اصلی سفارشیسازی وردپرس را اضافه کنیم که به آسانی در داشبورد مدیر وردپرس در دسترس نیستند. برای مثال، میتوانیم ویرایشهای پست را غیرفعال کنیم، نام سایت مورد استفاده وردپرس را تنظیم کنیم (مفید برای تغییرات دامنه)، حالت نگهداری را فعال کنیم، و غیره فایل wp-config.php یک فایل بسیار مهم است و نباید دستکاری شود. این شامل اطلاعات مهمی مانند اعتبار دسترسی به پایگاه داده وردپرس شما است. اگر شخصی بتواند به پایگاه داده شما دسترسی پیدا کند، کنترل کاملی بر سایت شما دارد.
wp_includes
این پوشه حاوی تمامی فایلها و کلاسهای PHP است که برای عملیات اصلی وردپرس مورد نیاز است. باز هم، شما نمی خواهید هیچ فایلی را در این فهرست ویرایش کنید.
wp_admin
این پوشه حاوی فایل های مختلف داشبورد وردپرس است. می دانید که تمام عملکردهای مدیریتی یا مربوط به وردپرس مانند نوشتن پست، نظارت بر نظرات، نصب افزونه ها و تم ها از طریق داشبورد وردپرس انجام می شود. فقط کاربران ثبت نام شده مجاز به دسترسی به اینجا هستند و دسترسی مجدداً بر اساس نقش کاربر محدود می شود. یک مدیر اجازه دسترسی کامل را می دهد و سپس ویرایشگر، سپس Contributor و در نهایت مشترک. داشبورد وردپرس معمولاً از طریق https://wpexplorer.com/wp-admin قابل دسترسی است.
wp_content
پوشه wp_content شامل تمام دادههای آپلود شده توسط کاربر است و دوباره به سه پوشه فرعی تقسیم میشود:
- موضوعات
- افزونه ها
- آپلودها
دایرکتوری “themes” شامل تمام تم هایی است که در سایت وردپرس شما نصب شده اند. هر فایل wordpress.zip که از WordPress.org دانلود میکنید 2 تم نصب شده است – برای وردپرس 3.6.1، آنها Twenty Twelve و Twenty Thirteen هستند. شما می توانید هر تعداد تم که می خواهید نصب کنید، اما می توانید هر بار فقط یک تم را فعال کنید (اگرچه برخی از افزونه ها وجود دارند که به شما امکان می دهند تعداد بیشتری را فعال کنید). همچنین، دایرکتوری “themes” هرگز نمی تواند خالی باشد، زیرا وردپرس برای کار با حداقل یک تم نیاز دارد!
به طور مشابه، “پلاگین” برای ذخیره تمام افزونه های نصب شده در سایت وردپرس شما استفاده می شود. برخلاف دایرکتوری “themes”، این دایرکتوری ممکن است خالی باشد زیرا میتوانید یک سایت وردپرس را بدون استفاده از هیچ پلاگینی به خوبی اجرا کنید. شما می توانید هر تعداد افزونه را که دوست دارید فعال کنید، اما این یک تمرین خوب است که فقط پلاگین های ضروری را نصب کنید. مقاله Kyla را در مورد افزونه های وردپرس< /a> امروز در دسترس است.
همه تصاویر (و سایر فایلهای رسانهای) که از زمان راهاندازی سایت خود آپلود کردهاید، به همراه تمام آپلودهای آینده، در فهرست «آپلودها»، طبقهبندی شده بر اساس سال، ماه و روز ذخیره میشوند. این پوشه را میتوان بهعنوان پایگاه دادهای برای همه دادههای غیر متنی – تصاویر، فایلهای PDF، ویدیوها، فایلهای MP3 و غیره در نظر گرفت. به همین دلیل، محدود کردن دسترسی عمومی به این پوشهها یک تمرین امنیتی خوب است. این را می توان با تغییر فایل htaccess. موجود در دایرکتوری wp_content به دست آورد. بنابراین هنگام تهیه نسخه پشتیبان؛ کپی کردن فقط پوشه نصب وردپرس این کار را انجام نمی دهد. شما باید هم پایگاه داده و هم کل محتوای دایرکتوری نصب وردپرس خود را کپی کنید!
آناتومی یک درخواست وردپرس
یا همانطور که من دوست دارم آن را بنامم،
وقتی شخصی وبلاگ شما را مشاهده می کند چه اتفاقی می افتد؟
وقتی شخصی از وبسایت دارای وردپرس شما بازدید میکند، وردپرس به صورت پویا یک کد HTML (ترکیب با CSS و JS) ایجاد میکند و آن را به بازدیدکننده ارائه میکند. پس از URL، پسوند html را نمی بینید، (همانطور که ممکن است در برخی از وب سایت های قدیمی دیده باشید) زیرا این محتوا به صورت پویا تولید می شود. نکات زیر تعمیم اقداماتی است که در صورت درخواست صفحه وب انجام می شود:
- مرورگر بازدیدکننده یک صفحه وب درخواست می کند
- هسته وردپرس (که میتوان آن را مغز وردپرس در نظر گرفت) اسکریپتهای PHP مورد نیاز را که با index.php شروع میشوند فراخوانی میکند
- سپس هسته WP با پایگاه داده خود ارتباط برقرار می کند و داده ها (پست ها/صفحات و غیره) را بازیابی می کند
- سپس دادههای واکشی شده، دادههای افزونههای فعال کنونی، و موضوع فعال کنونی را ترکیب میکند و کد HTML “در لحظه” یا “به صورت پویا” تولید میکند
- سپس این کد HTML ایجاد شده به صورت پویا را به مرورگر بازدیدکننده ارائه میکند
به همین ترتیب، هنگامی که یک پست منتشر می شود یا ذخیره می شود، یا یک نظر ارسال می شود، یا جستجو انجام می شود، هسته وردپرس عملیات داخلی مورد نیاز را انجام می دهد و آنها را برای استفاده بعدی در پایگاه داده خود ذخیره می کند و همچنین به مدیر وردپرس اطلاع می دهد. . شما (سرپرست) آنها را بهعنوان یک نظر جدید در انتظار نظارت، یا تعداد «x» نظرات در صف هرزنامهتان و غیره میبینید.
اکنون، تکرار همه این مراحل هر بار که شخصی یک صفحه وب (پست، صفحه، صفحه آرشیو، هر چیزی) را درخواست میکند، کاری زمانبر و منابع است. وقتی 10 نفر از سایت شما بازدید می کنند خوب است. اما آن را به 100، 1000 یا یک میلیون افزایش دهید، آنگاه مشکل واقعی شروع می شود. فقط ابرکامپیوترها قادر به انجام این تعداد عملیات همزمان هستند. و اکثر سایتهای وردپرس بر روی سرورهای میزبانی وب اشتراکی میزبانی میشوند که شاید 1/1000ام قدرت ابررایانهها را دارند.
خب حالا چیکار کنیم؟ کش وردپرس را وارد کنید. ما در اینجا به آن نمی پردازیم، بنابراین لطفاً منتظر قسمت بعدی این مجموعه باشید – مقدمه ای بر ذخیره سازی وردپرس.