shahin_w3
کاربر عضو
یک راه ساده برای اجرای هر کدام از کوئری های زیر استفاده از phpMyAdmin می باشد. این ابزار یکی از معمولی ترین ابزارهای مراجعه و ایجاد تغییرات در دیتابیس می باشد. تقریبا تمام کنترل پنل های موجود این ابزار را دارا می باشند. البته شما می توانید از پلاگین WordPress SQL Executioner نیز برای اجرای کوئری های وردپرس استفاده نمایید. برای وارد کردن کوئری های مورد نظر لطفا با استفاده از phpMyAdmin مراحل زیر را دنبال نمایید. 1. وارد phpMyAdmin شده و دیتابیس وردپرس را انتخاب نمایید. 2. بر روی زبانه ی SQL کلیک نمایید که شما را به یک صفحه با کادری برای کوئری SQL میبرد.
توجه
: همه ی کوئری ها، کوئری مستقیم SQL هستند و پیشوند استاندارد 'wp_' را برای جداول فرض خواهند کرد. اگر از پیشوند متفاوتی استفاده می کنید، کوئری ها را به همان شکل تغییر دهید.
[h=1]1. تغییر آدرس سایت ( SITEURL و HOMEURL )[/h] وردپرس مسیر نهایی آدرس سایت و خانه را در دیتابیس ذخیره می کند. بنابراین اگر وردپرس را از روی رایانه ی خود ( local host ) به سرور منتقل نموده اید و یا آدرس وبسایت را تغییر داده اید ، سایت شما بارگزاری نخواهد شد. دلیل این امر مسیر نهایی آدرس سایت است که هنوز به localhost یا آدرس قبلی وبسایت اشاره می کند. برای راه اندازی مجدد سایت، شما می بایست آدرس سایت و خانه را اصلاح نمایید. راه حل:
[h=1]2. تغییر GUID[/h] بعد از انتقال سایت از localhost به سرورتان، یا از یک دامنه به دامنه ی دیگر، شما می بایست آدرس ها را برای GUID field در جدول wp_posts اصلاح نمایید. این موضوع حیاتی است، زیرا GUID برای ترجمه ی پست ها و کد شماره ی صفحه به مسیر نهایی مطلب درست، در صورتی که به اشتباه وارد شده باشند، لازم است. راه حل:
[h=1]3. تغییر آدرس در محتوا[/h] وردپرس از لینک کامل سایت همراه با دامنه برای ذخیره در دیتابیس استفاده می کند. داخل محتوای هر رکورد یک پست، همه ی آدرس های قدیمی را که به محتوای قدیمی اشاره می کنند را ذخیره می کند. بنابراین شما نیاز به تغییر همه ی این آدرس ها به نام دامنه ی جدید خواهید داشت. راه حل:
[h=1]4. فقط تغییر آدرس تصاویر[/h] اگر تصمیم دارید که تصاویر را بر روی سرور دیگری ذخیره کنید، تا ترافیک بارگزاری تصاویر از روی سرور شما نباشد، می توانید از کوئری زیر برای تغییر مسیر همه ی تصاویر در وردپرس به بارگزاری از روی سرور دیگری استفاده نمایید. لازم به توضیح است که آدرس "http://yourcdn.newsiteurl.com" برابر با آدرس سرور جدید محل میزبانی تصاویر شما می باشد. راه حل:
شما همچنین نیاز خواهید داشت که با استفاده از کوئری زیر GUID را برای تصاویر الصاق شده، اصلاح نمایید.
[h=1]5. به روز کردن META پست ها[/h] به روز کردن META یک پست تقریبا مشابه آپدیت کردن آدرس در محتوای یک پست است. اگر آدرس های اضافی برای یک پست ذخیره نموده اید، شما می توانید از کوئری زیر برای اصلاح آنها استفاده نمایید. راه حل:
[h=1]6. تغییر نام کاربری “admin” پیش فرض[/h] با نصب وردپرس به صورت پیش فرض یک اکانت با نام کاربری Admin ساخته می شود. این یک مورد کلی است که هر کسی که از وردپرس استفاده می کند، آن را می داند. اما همین مسئله می تواند یک مشکل امنیتی بزرگ باشد، زیرا که هکر می تواند با استفاده از BruteForce رمز عبور ادمین وردپرس را بیابد. اگر شما بتوانید نام کاربری پیش فرض ادمین را تغییر دهید، شما امنیت پنل ادمین وردپرس خود را به میزان قابل توجهی افزایش داده اید.
راه حل:
[h=1]7. تغییر رمز عبور[/h] آیا هیچ وقت خواسته اید که رمز عبور خود را داخل وردپرس تغییر دهید، اما به نظر رسیده که ریست پسورد به دلیل نا مشخصی کار نمی کند؟ راه حل:
[h=1]8. اختصاص دادن همه ی مقاله های نویسنده ی B به نویسنده ی A[/h] اگر شما می خواهید که تمام مقالات نویسنده ی B را به نام نویسنده ی A تنظیم نمایید، این امر بسیار زمانبر خواهد بود. به کمک کوئری SQL زیر شما به آسانی می توانید تمام رکوردها را بررسی کرده و تغییرات را ایجاد نمایید. شما ابتدا نیاز به داشتن شناسه ی نویسنده ها با رفتن به صفحه ی "نویسنده و کاربر" در پنل ادمین وردپرس خواهید داشت. بر روی نام نویسنده کلیک نمایید تا پروفایل آنها را مشاهده نمایید. در نوار آدرس مرورگر، به دنبال "user_id" بگردید. این همان شناسه ی نویسنده است که ما لازم داریم. راه حل:
[h=1]9. پاک کردن پشتیبان پست ها ( Revision )[/h] رویژن ها نسخه های پشتیبانی هستند که وردپرس به هنگام ویرایش، برای هر پست نگهداری می کند تا امکان بازگشت تغییرات یک پست تا 25 مرحله برای شما فراهم باشد. این امکان بسیار مفیدی است اما موجب می شود که دیتابیس شما کمی سنگین شود. برای حذف رویژن ها می توانید از کوئری زیر استفاده نمایید. راه حل:
توجه
: در نظر داشته باشید که همه ی Revision ها شامل هر پست و اطلاعات متا ، آن حذف خواهد شد. به همین دلیل بهتر است قبل از انجام این کار حتما از دیتابیس بک آپ تهیه نمایید.
[h=1]10. لیست تمام ایمیل های کامنت ها، بدون تکرار[/h] اگر می خواهید ایمیل تمام کاربرانی که تا به حال در وبلاگ شما کامنت گذاشته اند را در یک لیست جمع آوری کنید، می توانید از کوئری زیر استفاده نمایید. راه حل:
[h=1]11. حذف کردن یک pingback[/h] در وردپرس مقالات محبوب معمولا تعداد زیادی پینگ بک دریافت می کنند. این امر حجم دیتابیس شما را افزایش خواهد داد و ممکن است تمایل به حذف آنها داشته باشید که کوئری زیر به شما در انجام این امر کمک خواهد کرد. راه حل:
[h=1]12. پاک کردن همه ی کامنت های اسپم[/h] در صورتی که تعداد زیادی کامنت اسپم دریافت می کنید، رفتن به هر صفحه و پاک کردن اسپم ها می تواند خسته کننده و ملالت آور باشد. با کمک کوئری زیر می تونید، حتی اگر می خواهید 500 کامنت اسپم را حذف کنید، این امر را به سرعت انجام دهید. راه حل:
0= کامنتی که در انتظار تایید است 1= کامنت تایید شده Spam= کامنت هایی که به عنوان اسپم شناخته شده اند. [h=1]13. شناسایی Tag های استفاده نشده[/h] اگر در وردپرس، پست های قدیمی را به صورت دستی از Mysql حذف نمایید، تگ های قدیمی همچنان باقی خواهند ماند و در لیست تگ ها قابل مشاهده خواهند بود. کوئری زیر تگ های استفاده نشده را برای شما مشخص خواهد کرد. راه حل:
توجه
: همه ی کوئری ها، کوئری مستقیم SQL هستند و پیشوند استاندارد 'wp_' را برای جداول فرض خواهند کرد. اگر از پیشوند متفاوتی استفاده می کنید، کوئری ها را به همان شکل تغییر دهید.
[h=1]1. تغییر آدرس سایت ( SITEURL و HOMEURL )[/h] وردپرس مسیر نهایی آدرس سایت و خانه را در دیتابیس ذخیره می کند. بنابراین اگر وردپرس را از روی رایانه ی خود ( local host ) به سرور منتقل نموده اید و یا آدرس وبسایت را تغییر داده اید ، سایت شما بارگزاری نخواهد شد. دلیل این امر مسیر نهایی آدرس سایت است که هنوز به localhost یا آدرس قبلی وبسایت اشاره می کند. برای راه اندازی مجدد سایت، شما می بایست آدرس سایت و خانه را اصلاح نمایید. راه حل:
کد:
UPDATE wp_options SET option_value = replace (option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';
کد:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
کد:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');
کد:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com"', 'src="http://yourcdn.newsiteurl.com"');
کد:
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';
کد:
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');
راه حل:
کد:
UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';
کد:
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username';
کد:
UPDATE wp_posts SET post_author = 'new-author-id' WHERE post_author = 'old-author-id';
کد:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision' ;
توجه
: در نظر داشته باشید که همه ی Revision ها شامل هر پست و اطلاعات متا ، آن حذف خواهد شد. به همین دلیل بهتر است قبل از انجام این کار حتما از دیتابیس بک آپ تهیه نمایید.
[h=1]10. لیست تمام ایمیل های کامنت ها، بدون تکرار[/h] اگر می خواهید ایمیل تمام کاربرانی که تا به حال در وبلاگ شما کامنت گذاشته اند را در یک لیست جمع آوری کنید، می توانید از کوئری زیر استفاده نمایید. راه حل:
کد:
SELECT DISTINCT comment_author_email FROM wp_comments;
کد:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
کد:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
کد:
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;