شرح جدول‌های پایگاه داده‌ی وردپرس

سیستم مدیریت محتوای وردپرس در هنگام نصب چندین جدول در بانک اطلاعاتی ایجاد می‌کند. در حال حاضر وردپرس تنها از MySQL و MariaDB برای نگهداری داده‌های خود پشتیبانی می‌کند.

دانستن جزئیات فنی پایگاه داده برای طراحی سایت با وردپرس ضروری نیست، این اطلاعات بیشتر برای برنامه‌نویسان سایت که بخواهند برای وردپرس افزونه‌ای ایجاد کنند یا برنامه‌نویسان مشتاق که بخواهند شکل طراحی پایگاه داده‌ی وردپرس را در جهت اهداف آموزشی به کارگیری کنند، یا متخصصان سئو که بخواهند کارایی و عملکرد سایت را در جهت افزایش سرعت بهبود دهند، مفید خواهد بود.

در ادامه فهرست جداول وردپرس و کارکرد هر یک را به صورت مختصر مشاهده خواهید نمود.

نمودار ERD جدول‌های وردپرس

فهرست جدول‌ها

در ادامه می‌توانید نام تک تک جدول‌های پایگاه داده‌ی وردپرس و کاربرد هر یک را مشاهده نمایید.

نام جدول شرح
wp_commentmeta  اطلاعات جانبی مربوط به هر کامنت در این جدول نگهداری می‌شود.
wp_comments  کامنت‌های ثبت شده در برگه‌ها و نوشته‌ها یا پست‌های سفارشی در این جدول ذخیره می‌شوند.
wp_links  ویژگی قدیمی «پیوندها» در وردپرس که در نگارش‌های جدید وردپرس منسوخ شده‌اند از این جدول برای عملکرد خود استفاده می‌کرد. استفاده‌ی مجدد از این ویژگی با کمک افزونه‌ها امکان‌پذیر است.
wp_options  تنظیمات عمومی سایت که در بخش مدیریت سایت قابل تغییر هستند و همچنین تنظیمات مربوط به اغلب افزونه‌های نصب شده در این جدول ثبت می‌شوند.
wp_postmeta  محل نگهداری اطلاعات جانبی مربوط به انواع پست‌ها از جمله نوشته‌ها و برگه‌ها.
wp_posts  محل نگهداری انواع پست‌ها از جمله نوشته‌ها، برگه‌ها، پیوست‌ها و پست‌های سفارشی دیگر.
wp_terms  دسته‌بندی‌های گوناگون از جمله دسته‌بندی‌های پیش‌فرض وردپرس و برچسب‌ها در این جدول نگهداری می‌شوند.
wp_term_relationships  ارتباط میان پست‌ها و دسته‌بندی‌ها با کمک این جدول واسط برقرار می‌گردد.
wp_term_taxonomy  اطلاعات تکمیلی در خصوص دسته‌بندی‌های پیش‌فرض و دسته‌بندی‌های قابل ایجاد برای پست‌های سفارشی.
wp_usermeta  اطلاعات تکمیلی کاربران که در تنوع و تعداد نامحدود قابلیت ذخیره‌سازی دارند.
wp_users  اطلاعات کاربران و مدیران سایت.

جدول‌های وردپرس شبکه

وردپرس شبکه، چندین جدول دیگر برای مدیریت سایت‌های ایجاد شده در شبکه و مدیریت کاربران این سایت‌ها ایجاد می‌کند که فهرست این جدول‌ها در ادامه قابل مشاهده است.

نام جدول شرح
wp_blogs  اطلاعات سایت‌های ایجاد شده در شبکه
wp_blog_versions  اطلاعات نسخه‌ی پایگاه داده‌ی هر بلاگ یا سایت ایجاد شده در شبکه برای قابلیت پیگیری و به‌روزرسانی
wp_registration_log  اطلاعات مدیران سایت ثبت شده در شبکه
wp_signups  اطلاعات کاربران ثبت نام کرده در شبکه
wp_site  اطلاعات و نشانی سایت اصلی در شبکه
wp_sitemeta  محل نگهداری اطلاعات نامحدود در مورد هر سایت ایجاد شده در شبکه. از جمله‌ی مدیر اصلی هر سایت.
wp_users  وردپرس شبکه دو فیلد به جدول کاربران وردپرس اضافه می‌کند تا امکان مدیریت کاربران شبکه با کارایی مناسب فراهم گردد.
wp_usermeta  ساختار این جدول با ساختار جدول در حالت معمول وردپرس تفاوتی نمی‌کند ولی اطلاعات ذخیره شده برای هر کاربر در وردپرس شبکه بیش از حالت معمول است.

انجام تغییرات در جدول‌های وردپرس

وردپرس دستورات متعددی برای مدیریت جداول مختلف پایگاه داده در اختیار برنامه‌نویسان افزونه قرار می‌دهد که بیشتر فرآیندهای معمول مانند ایجاد پست، مدیریت کامنت‌ها، پیوست‌ها و تنظیمات را بدون نیاز به ارتباط مستقیم با پایگاه داده امکان‌پذیر می‌کند. با این حال در برخی کاربردهای حرفه‌ای‌تر لازم خواهد بود که تغییرات به صورت مستقیم در پایگاه داده ذخیره و به‌روزرسانی شوند.

پیش از انجام تغییرات در پایگاه داده‌ی وردپرس، کسب اطلاعات کافی از کاربرد جدول‌های مختلف و پیامدهای احتمالی در استفاده از روش‌های مختلف برنامه‌نویسی لازم و ضروری است. استفاده‌ی نادرست از پایگاه داده می‌تواند اثرات قابل توجهی در کارایی سایت بر جای بگذارد.

۱۸ نظر در مورد «شرح جدول‌های پایگاه داده‌ی وردپرس»

  • سلام
    مطالبتونبسیار کارامد بود.
    یه سوالی داشتم میخواستم بدونم چطوری میشه به صورت مستقیم محصولات ووکامرس رو به بانکش ادد کنم.

    • با سلام
      اضافه کردن محصول به جداول ووکامرس شامل ذخیره‌سازی اطلاعات در چندین جدول است. همچنین لازم است تا تصاویر محصولات مطابق سیستم وردپرس در رسانه ثبت شوند.
      اگر محصولات دارای فایل جانبی باشند نیز، موارد دیگری اضافه خواهد شد.
      به دلیل پیچیدگی موارد فوق، بهترین روش استفاده از API ووکامرس است که با استفاده از شیوه‌ی REST با آن تبادل اطلاعات می‌کنید.
      راه اندازی این سیستم هم به نوبه‌ی خود کار آسانی نیست. در این زمینه قبلا ربات اینترنتی توسعه داده‌ایم و چنانچه مایل بودید با ما تماس بگیرید تا شیوه‌ی همکاری برای نوشتن این سیستم را بررسی نماییم.

  • سلام من یک سایت وردپرسی دارم . کاربر یک فرم پر می کند و در صورت صلاح دید من می خواهم او را به مثلا فروشندگان دکان اضافه کنم. یا اینکه کاربر عادی است و او را به ثبت نام ووکامرس اضافه کنم تا پنل برایش ایجاد شود. خودم به صورت دستی در کدام یک از پایگاه داده می توانم این کاربران را اضافه کنم؟

    • با سلام
      انجام این کار از طریق پایگاه داده پیچیدگی‌هایی دارد که اگر اطلاعات اولیه در این خصوص نداشته باشید، با مشکل مواجه می‌شوید
      در عوض باید از بخش مدیریت سایت این کارها را انجام دهید

  • محمد رجب زاده می‌گوید:

    سلام
    ببخشید من چه طوری از تو دیتابیس میتونم بفهمم که تصویر هر پست چیه؟

    • با سلام
      اطلاعات جانبی پست‌ها در جدول postmeta ذخیره می‌شود
      نوشتن کدهای مربوط به انجام این کار در قالب کامنت‌های این مطلب امکان‌پذیر نیست

  • بهناز می‌گوید:

    با سلام و وقت بخیر
    من فرم ثبت نامی با زبان php نوشتم که از طریق یکی از گزینه های منوی سایتم قابل دسترسی است، از طرفی افزونه ای برای پنل کاربری کاربرانم نصب کرده ام و در نظر دارم کاربر سایت من بعد از تکمیل ثبت نام بافرم هایی که من نوشته ام به صفحه ی لاگین در پنل کاربری اش هدایت شود.
    برای اینکه کاربری که در فرم من ثبت نام کرده توسط وردپرس شناخته شود تصمیم داشتم اطلاعات کاربران را بعد از ثبت نام در جدول wp_users وارد کنم(با دستور insert) آیا راه درستی در نظر دارم؟و ایا پیشنهاد بهتری دارید؟ چرا که با اجرای این کد به جوابی نرسیدم .

    • با سلام
      برای درج کاربر جدید بهتر است از API وردپرس استفاده کنید یا اگر سیستم شما در کنار وردپرس قرار دارد، فایل wp-load را سیستم خود فراخوانی کنید و سپس با توابع وردپرس مربوط به کاربران، آنچه نیاز دارید را در پایگاه داده وردپرس ثبت کنید.
      جهت آشنایی با هر یک از موارد بالا لازم است تا اینترنت را جستجو و مطالعه کنید تا شکل صحیح این کارها را بدانید و آسیبی به اطلاعات شما وارد نشود

      • بهناز می‌گوید:

        یکم دیر دارم تشکر میکنم (البته به این دلیل که پاسخ به این کامنت رو متوجهش نشدم) ولی بله روشی که گفتید کاملا کار کرد فایل wp-load رو اینکلود کردم و با استفاده از تابع wp_insert_user کاربر فرم های خودم را وارد جداول وردپرس کردم.(برای کسانی که بعدا این پست رو می بینن...)

        حالا مساله ی دیگه ای دارم در رابطه با جدول ها :
        من می خوام سیستمی فراهم کنم که کاربران سایتم برای یک پست در کنار اینکه کامنت گذاشت با استفاده از rating bar(که خودم نوشتم) در 5 فیلد به اون پست رای بده و مجموع این رای ها تا اون لحظه وارد یکی از جداول وردپرس بشه، جدول postmeta رو پیشنهاد کردن ولی جایی برای وارد کردن این اطلاعات نداره ، شما میتونید در این رابطه بیشتر راهنمایی کنید؟

      • با سلام
        برای ذخیره کردن اطلاعات امتیاز در کنار کامنت می‌بایست از جدول wp_commentmeta استفاده کنید
        نوشتن کدهای مربوط به این کار به مطالعه‌ی مستندات وردپرس و شاید مطالعه‌ی کدهای وردپرس نیاز داشته باشد و مطلبی نیست که در این قسمت بتوان به آن پرداخت

  • امیر از شیراز می‌گوید:

    سلام
    چطوری میشه در بازیابی دیتابیس برچسب های هر متن نوشته را بازیابی کرد ؟ چرا با بازیابی کردن فایل ذخیره شده برچسب های نوشته من نمایش داده نمیشه ؟ با تشکر

    • با سلام
      اگر پایگاه داده به صورت کامل بازیابی شود همه اطلاعات از جمله برچسب‌ها باید برگردانده شوند مگر اینکه از افزونه‌ای خاص استفاده کرده باشید که به درستی پشتیبان را تهیه نکرده باشد یا تنظیمات آن به درستی انجام نشده باشد

  • mohammad می‌گوید:

    سلام خدمت اساتید
    من میخوام واسه فروشگاه اینترنتی م از وو کامرس استفاده کنم اما اطلاعات محصولات رو از sql server سیستم حسابداری مغازم بگیره.
    چطوری میتونم این کارو انجام بدم؟

    • با سلام
      ووکامرس به صورت پیش‌فرض چنین قابلیتی ندارد. اگر حتما به این قابلیت نیاز دارید، دو گزینه وجود دارد. یا افزونه‌ای برای ووکامرس جهت انجام این کار نوشته شود که ممکن است هزینه‌ی آن زیاد باشد یا در خصوص انتخاب ووکامرس تجدید نظر کنید و فروشگاه را به صورت اختصاصی برنامه نویسی کنید.

  • حمزه می‌گوید:

    سلام در پنل من همچین خطایی ظاهر شده مشکل چی میتونه باشه و راه حلش چیه
    ممنون میشم کمکم کنید
    جداول پایگاه داده وجود ندارد

    یک یا چند جدول مورد نیاز برای عملکرد WooCommerce وجود ندارد ، برخی از ویژگی ها ممکن است مطابق انتظار کار نکنند. جداول موجود نیست: oipvh_wc_order_stats, oipvh_wc_order_product_lookup, oipvh_wc_order_tax_lookup, oipvh_wc_order_coupon_lookup, oipvh_wc_admin_notes, oipvh_wc_admin_note_actions, oipvh_wc_customer_lookup, oipvh_wc_category_lookup دوباره بررسی کنید.

    • با سلام
      ممکن است مشکلی در به‌روزرسانی سایت شما وجود داشته است یا اگر سایت را منتقل کرده باشید ممکن است این کار به صورت کامل انجام نشده باشد. برای رفع مشکل ابتدا باید علت آن شناسایی شود و بر اساس نیاز جدول‌های خالی ایجاد شوند یا منتقل شوند یا به‌روزرسانی مجددا اجرا شود.

  • آرمان می‌گوید:

    یک سوال ! من قبلا وردپرس درست کرده بودم و با توجه به مشکلی که پیش اومد مجبور شدم مجدد وردپرس نصب کنم و وردپرس قبلی هم در دسترس هستش ...
    حالا دیتابیس دسته بندی محصولات رو میخوام انتقال بدم (ووکامرس) و میخوام بدونم کدوم تیبل هارو داخل دیتابیس باید انتقال بدم که دسته بندی محصولات انتقال داده بشند ؟
    با تشکر

    • با سلام. اگر وردپرس جدیدی نصب کرده باشید، امکان اینکه به صورت مستقیم محتوای جدول‌ها را از سایت قبلی به سایت جدید کپی کنید وجود ندارد چون ردیف‌ها دارای شناسه‌ی منحصر به فرد هستند و انتقال آن‌ها به سایت جدید باعث تداخل می‌شود. در عوض می‌بایست روی سایت قبلی یک افزونه که اطلاعات شما را پشتیبان می‌گیرد نصب کنید و همان افزونه را روی سایت جدید هم نصب کنید و اطلاعات را در مقصد بارگزاری نمایید. افزونه‌های متعددی برای این کار وجود دارد که باید در گوگل جستجو کنید و مورد مناسب را انتخاب نمایید.

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

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