شرح جدولهای پایگاه دادهی وردپرس
سیستم مدیریت محتوای وردپرس در هنگام نصب چندین جدول در بانک اطلاعاتی ایجاد میکند. در حال حاضر وردپرس تنها از MySQL و MariaDB برای نگهداری دادههای خود پشتیبانی میکند.
دانستن جزئیات فنی پایگاه داده برای طراحی سایت با وردپرس ضروری نیست، این اطلاعات بیشتر برای برنامهنویسان سایت که بخواهند برای وردپرس افزونهای ایجاد کنند یا برنامهنویسان مشتاق که بخواهند شکل طراحی پایگاه دادهی وردپرس را در جهت اهداف آموزشی به کارگیری کنند، یا متخصصان سئو که بخواهند کارایی و عملکرد سایت را در جهت افزایش سرعت بهبود دهند، مفید خواهد بود.
در ادامه فهرست جداول وردپرس و کارکرد هر یک را به صورت مختصر مشاهده خواهید نمود.
فهرست جدولها
در ادامه میتوانید نام تک تک جدولهای پایگاه دادهی وردپرس و کاربرد هر یک را مشاهده نمایید.
نام جدول | شرح |
---|---|
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 استفاده کنید
نوشتن کدهای مربوط به این کار به مطالعهی مستندات وردپرس و شاید مطالعهی کدهای وردپرس نیاز داشته باشد و مطلبی نیست که در این قسمت بتوان به آن پرداخت
سلام
چطوری میشه در بازیابی دیتابیس برچسب های هر متن نوشته را بازیابی کرد ؟ چرا با بازیابی کردن فایل ذخیره شده برچسب های نوشته من نمایش داده نمیشه ؟ با تشکر
با سلام
اگر پایگاه داده به صورت کامل بازیابی شود همه اطلاعات از جمله برچسبها باید برگردانده شوند مگر اینکه از افزونهای خاص استفاده کرده باشید که به درستی پشتیبان را تهیه نکرده باشد یا تنظیمات آن به درستی انجام نشده باشد
سلام خدمت اساتید
من میخوام واسه فروشگاه اینترنتی م از وو کامرس استفاده کنم اما اطلاعات محصولات رو از 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 دوباره بررسی کنید.
با سلام
ممکن است مشکلی در بهروزرسانی سایت شما وجود داشته است یا اگر سایت را منتقل کرده باشید ممکن است این کار به صورت کامل انجام نشده باشد. برای رفع مشکل ابتدا باید علت آن شناسایی شود و بر اساس نیاز جدولهای خالی ایجاد شوند یا منتقل شوند یا بهروزرسانی مجددا اجرا شود.
یک سوال ! من قبلا وردپرس درست کرده بودم و با توجه به مشکلی که پیش اومد مجبور شدم مجدد وردپرس نصب کنم و وردپرس قبلی هم در دسترس هستش ...
حالا دیتابیس دسته بندی محصولات رو میخوام انتقال بدم (ووکامرس) و میخوام بدونم کدوم تیبل هارو داخل دیتابیس باید انتقال بدم که دسته بندی محصولات انتقال داده بشند ؟
با تشکر
با سلام. اگر وردپرس جدیدی نصب کرده باشید، امکان اینکه به صورت مستقیم محتوای جدولها را از سایت قبلی به سایت جدید کپی کنید وجود ندارد چون ردیفها دارای شناسهی منحصر به فرد هستند و انتقال آنها به سایت جدید باعث تداخل میشود. در عوض میبایست روی سایت قبلی یک افزونه که اطلاعات شما را پشتیبان میگیرد نصب کنید و همان افزونه را روی سایت جدید هم نصب کنید و اطلاعات را در مقصد بارگزاری نمایید. افزونههای متعددی برای این کار وجود دارد که باید در گوگل جستجو کنید و مورد مناسب را انتخاب نمایید.