آموزش کار با دیباگ وردپرس و نحوه فعال سازی دیباگ وردپرس

تقریبا میشه گفت که هیچ سیستم مدیریت محتوایی وجود نداره که برای همه کاربران با هر نوع سرور و سیستم عاملی به درستی کار بکنه و عاری از نقص باشه، چرا که بالا اومدن یک سایت به عوامل بسیار زیادی بستگی داره که به سخت افزار و نرم افزارهای نصب شده روی اون برمیگرده. در وردپرس هم مثل این مورد رو به رو هستیم که به دلایل مختلف مثل تغییرات در php، فعال/غیرفعال شدن اکستنشنهای هاست و… مشکلاتی برای سایت به وجود میاد. بنابراین باید ابزاری برای عیب یابی کردن وردپرس وجود داشته باشه که هر گاه با خطا مواجه شدیم بتونیم این مشکلات را برطرف کنیم. اینجا بود که حالت دیباگ وردپرس به وجود اومد و با یک ابزاری که در قلب وردپرس قرار داره به راحتی میتونید با فعال سازی کردن اون مشکلات وردپرس را برطرف کنید.
در این آموزش از پایگاه دانش میزبانفا قصد دارم به معرفی دیباگ وردپرس و نحوه فعال سازی دیباگ وردپرس بپردازم که با استفاده از این آموزش میتونید از ابزار دیباگ وردپرس استفاده کرده و مشکلاتی که در سایتتون وجود داره را یافته و برطرف کنید. پیش از این هم به معرفی افزونهای برای عیب یابی وردپرس و حل مشکل کندی سرعت در وردپرس پرداختم که بی ارتباط با همین دیباگ وردپرس نیست. پس اگر به دنبال رفع خطاهای وردپرس با استفاده از wp_debug هستید تا انتهای این مقاله همراه باشید.
حالت دیباگ وردپرس چیست؟
بیشتر کاربرانی که در حال توسعه و ایجاد تغییرات در کدنویسی افزونهها و قالب وردپرس هستند از ابزار دیباگ وردپرس غافل هستند و بخاطر همین موضوع خطاهایی که شاید در ظاهر در سایت نشون داده نشه رو نخواهند دید. اما همین خطاهایی که در ظاهر سایت تاثیری نمیزارن، باعث کندی سایت میشن که اگر حالت دیباگ وردپرس فعال باشه به راحتی میشه از این مشکلات مطلع شده و کدها را به صورت بهینه در وردپرس نوشت.
دیباگ وردپرس یا همون wp_debug بهترین ابزار برای عیب یابی در وردپرس و رفع مشکلات سایت هست که با استفاده از این ابزار میتونید منبع و سورسی که باعث خطا میشه را یافته و برطرف کنید. WP_DEBUG وردپرس یک ثابت از نوع بولین Boolean هست که داخل فایل wp-config.php تعریف میشه و با استفاده از این تابع میشه خطاهای موجود در سایت را مشاهده کرد. این تابع میتونه از دو مقدار true و false پیروی بکنه که به ترتیب مربوط به فعال بودن یا غیرفعال بودن اون هستند. در صورتی که مقدار روی true قرار گرفته باشه دیباگ وردپرس فعال بوده و میتونید خطاهای وردپرس را بررسی کنید. اما اگر مقدار اون روی false باشه خطایی نمایش داده نمیشه. اما در همه موارد خطاهایی که نشون داده میشه واقعا یک خطا نیستند و در برخی موارد فقط توصیه هستند که به شما گفته میشه باید بررسیشون کنید.
نحوه فعال سازی دیباگ وردپرس و رفع خطاهای وردپرس
برای فعال کردن WP_DEBUG در وردپرس باید ابتدا وارد هاست خود شده و روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایلها در هاست هدایت بشید و سپس به مسیر public_html مراجعه کنید.
حالا که وارد مسیر نصب وردپرس در public_html شدید باید در این مسیر به دنبال فایل wp-config.php بگردید. بعد از پیدا کردن فایل روی اون راست کلیک کرده و گزینه EDIT را انتخاب کنید تا صفحه ویرایش فایل باز بشه. حالا با استفاده از کلیدهای ترکیبی CTRL + F داخل کدهای این فایل به دنبال WP_DEBUG بگردید.
اگر با جستجوی عبارت WP_DEBUG هیچ نتیجه ای پیدا نشد به این معنی که کر مربوط به فعال کردن دیباگ در وردپرس وجود نداره که باید به صورت دستی این کد را اضافه کنید. بنابراین کد زیر را درست قبل از خط /* That’s all, stop editing! Happy blogging. */ قرار داده و فایل را ذخیره کنید.
define( 'WP_DEBUG', true );
حالا همونطور که در بالا گفتم اگر دقت کنید در این تابع برای دیباگ وردپرس مقدار true قرار داده شده که به معنی فعال بودن حالت دیباگ وردپرس هست. اگر این مقدار به جای true روی false تنظیم بشه حالت دیباگ وردپرس غیرفعال شده و خطایی در سایت نمایش داده نخواهد شد. پس بعد از فعال کردن دیباگ وردپرس اقدام به رفع خطاهای وردپرس بکنید و بعد از اتمام رفع خطا هم حتما مقدار true را به false تغییر بدین.
دیباگ وردپرس فعال یا غیرفعال؟
از اونجایی که همیشه کدهایی که به صورت خطا یا توصیه در صورت فعال بودن دیباگ وردپرس نمایش داده میشن بنابراین در صورتی که خطا یا یادداشتی وجود نداشته باشه هیچ پیغام خطایی در صفحه نشون داده نمیشه. اما گاها پیش میاد که به دلیل آپدیت نرم افزارهای روی سرور و تغییراتی که اعمال میشه، ممکنه روی افزونه یا قالب وردپرس تاثیر بزاره و باعث نمایش دادن خطاهای وردپرس در بالای سایت بشه که دیدن چنین منظرهای برای کاربران حس بی اعتمادی خواهد داشت. پس همیشه فقط و فقط از حالت دیباگ وردپرس وقتی استفاده کنید که در حال ایجاد تغییرات در کدنویسی سایت و توسعه وردپرس هستید. بعد از اینکه کارها تموم شد میتونید دیباگ وردپرس را غیرفعال کنید.
غیرفعال کردن نمایش خطا دیباگ وردپرس
یکی از قابلیتهایی که دیباگ وردپرس در اختیارتون قرار میده اینه که با استفاده از یک تابع دیگه که زیر مجموعهای از همین دیباگ وردپرس به حساب میاد و اسمشو WP_DEBUG_DISPLAY گذاشتند، میتونید خطاهای مربوط به فعال کردن دیباگ وردپرس را به صورت دلخواه انتخاب کنید که نمایش داده بشن یا اینکه نمایش داده نشن. برای این منظور باید این تابع را درست بعد از خطی که حالت دیباگ وردپرس را فعال کردید قرار بدین. دقت کنید که به صورت پیش فرض این حالت فعال هست و خطاها نمایش داده میشه، اما برای غیرفعال کردن نمایش خطاهای وردپرس در WP_DEBUG_DISPLAY باید کد زیر را بعد از خط دیباگ وردپرس قرار بدین.
define('WP_DEBUG_DISPLAY', false);
ایجاد لاگ خطا دیباگ وردپرس با WP_DEBUG_LOG
یکی دیگه از توابع زیر مجموعه دیباگ وردپرس به نام WP_DEBUG_LOG ایجاد شده که با استفاده از این تابع میتونید خطاهای دیباگ وردپرس را در یک فایل log ذخیره کنید که در هر بار که خطایی در سایت رخ میده، این خطاها به همراه مسیردهی که دارند در این فایل ذخیره شده و میتونید با بررسی خطاهای موجود در این فایل بر اساس بازه زمانی که برای هر خطا تاریخ و ساعت دقیق بروز خطا ثبت میشه بدونید که مشکل به وجود اومدن خطا در سایت مربوط به چه فایلی است. برای فعال کردن لاگ دیباگ وردپرس باید تابع زیر را هم بعد از قطعه کد مربوط به فعال سازی دیباگ وردپرس قرار بدین.
define('WP_DEBUG_LOG', true);
همونطور که میبینید در این قطعه کد هم مقدار true انتخاب شده که در این صورت فایلی با نام debug.log داخل پوشه wp-content در هاست شما ساخته میشه که هر زمان خطایی در وردپرس به وجود میاد بر اساس تاریخ و ساعت بروز خطا در هر خط از این فایل ذخیره میشه که با بررسی اون میتونید خطاهای وردپرس را برطرف کنید. اگر بخواهیم که هر سه تابع بالا را به صورت فعال شده در وردپرس استفاده کنیم به طوری که هم دیباگ وردپرس فعال بشه، هم خطاها در بخش کاربری سایت نشون داده نشه و هم اینکه خطاها در یک فایل لاگ ذخیره بشن باید از کدها به صورت ترکیب زیر استفاده کنیم.
// Turn debugging on define('WP_DEBUG', true); // Tell WordPress to log everything to /wp-content/debug.log define('WP_DEBUG_LOG', true); // Turn off the display of error messages on your site define('WP_DEBUG_DISPLAY', false);
سلام وقت بخیر. قابلیت دیباگ رو فعال کردم ولی هیچ پیغامی در هیچ کجای پنل وردپرس قابل مشاهده نیست. پیغامها رو از کجا میتونیم ببینیم. باتشکر.
سلام و وقت بخیر، همونطور که در محتوای متن چندین بار اشاره شده حالت دیباگ فقط برای رفع مشکل و عیب یابی در وردپرس هست. در صورتی که مشکلی در سایت وجود نداشته باشه، به تبع خطایی هم نمایش داده نخواهد شد.
سلام طبق متن چک کردم و دیباگ برای من فعاله
اما در هاست فایل تولید شده بنام debug.log حدود 4.17 گیگ شده
در حقیقت تمام حجم هاست رو این فایل گرفته
چگونه این مشکل رو رفع کنم؟؟
سپاس بیکران از شما
سلام وقت بخیر ؛
این فایل حاوی گزارشات خطایی هستش که از زمان فعال سازی حالت دیباگ دریافت کردید و به همین دلیل سنگین شده. وجود این فایل لزومی نداره و صرفا حالت خطایابی و گزارش گیری هتش.
میتونید فایل های قدیمی رو حذف کنید و ازین لحظه گزارشات جدید رو دریافت کنید.
من wp-config.php این فایل رو تو اون قسمت پیدا نمی کنم که ؟؟؟؟
سلام روزبخیر؛
این فایل در مسیر نصب وردرپستون قرار داره.
عالی به بهترین نحو ممکن توضیح دادید
یک دنیا ممنون
سلام جناب شما فقط آموزش گزارش گیری گذاشتین من واقعا الان نمیتونم باگ هارو رفع کنم !
بنده ازاینا هیچ سر در نمیارم
سلام روزبخیر؛
در گزارش مسیر و گاها توضیحی جزئی در خصوص مشکل به وجود آماده نوشته شده که میتونن سرنخ هایی برای رفع مشکل باشن. به عنوان مثال گاهی به مسیر نصب یک افزونه ی قالب اشاره میشه و میتونیدحدس بزنید که سرچشمه مشکلات هستند.
خیلی ممنون به لطف توضیحات کامل و جامعتون به راحتی مشکلم حل شد
سلام من وقتی وارد فهرست وردچرس میشم این رو میگه میشه کمک کنین مشکل کجاست؟
Fatal error: Uncaught ArgumentCountError: Too few arguments to function
um\admin\core\Admin_Navmenu::wp_nav_menu_item_custom_fields(), 4 passed in /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/class-wp-hook.php on line 287 and exactly 5 expected in /home2/sunrise2/domains/sunrise87.ir/public_html/wp-content/plugins/ultimate-member/includes/admin/core/class-admin-navmenu.php:59 Stack trace: #0 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/class-wp-hook.php(287): um\admin\core\Admin_Navmenu->wp_nav_menu_item_custom_fields(1286, Object(WP_Post), 0, Object(stdClass)) #1 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters(”, Array) #2 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #3 /home2/sunrise2/domains/sunrise87.ir/public_html/wp-content/themes/publisher/includes/libs/better-framework/menu/class-bf-menu-edit-walker.php(85): do_action(‘wp_nav_menu_ite…’, 1286, Object(WP_Post), 0, in /home2/sunrise2/domains/sunrise87.ir/public_html/wp-content/plugins/ultimate-member/includes/admin/core/class-admin-navmenu.php on line 59
سلام روزبخیر؛
افزونه ultimate-membr رو به صورت موقت غیر فعال و وضعیت سایتتون رو چک کنید.
سلام وقتتون بخیر
من بعد از اپدیت وردپرس به نسخه 5.5 با این notice مواجه شدم
Notice: تابع register_rest_route به طورنادرست فراخوانی شد. تعریف مسیر REST API برای yoast/v1/get_head فاقد آرگومان ضروری permission_callback است. برای مسیر REST API که برای عمومی بودن در نظر گرفته شدهاند، از __return_true به عنوان فراخوان دسترسی استفاده کنید. لطفاً برای اطلاعات بیشتر، اشکال زدایی در وردپرس را مشاهده کنید. (این پیام در نگارش 5.5.0 افزوده شده است.)
برای رفع این ارور باید چیکار کنم؟ ایا اصلا ارور مهمی هست؟
سلام خسته نباشید
برای من 3 تا خطا داده میشه کمکم کنید حلشون کنم:
1.سایت شما نسخه php(7.3.18)را اجرا نمیکند
2.یک یا چند ماژول پیشنهادی وجود ندارد
3.سایت شما از https استفاده نمیکند
سلام و احترام هدی عزیز؛
در خصوص سوال اول باید نسخه های مختلف php هاست رو بررسی کنید و ببینید کدوم یکی با قالب شما همخوانی داره در این خصوص بر اساس کنترل پنل هاستتون می تونید از آموزش های زیر کمک بگیرید:
آموزش تغییر ورژن php در سی پنل
آموزش تغییر ورژن php در هاست دایرکت ادمین
آیا از ماژول خاصی نامبرده شده؟ (اگر به ماژول خاصی نیاز داشتید باید با هاستینگتون مطرح کنید و بررسی کنید در دسترس هست یا نه)
می تونید گواهی ssl رایگان یا تجاری روی هاستتون نصب و از پروتکل http به پروتکل https سوئیچ کنید.
فعالسازی SSL رایگان سی پنل و تمدید آن به صورت خودکار
آموزش نصب ssl دایرکت ادمین
ممنونم که هستید! تقریبا هر مشکلی که تا الان با وردپرس داشته ام اینجا حل شده است.
سلام
صفحه ویرایش محصول نصفه و نیمه باز میشه و خیلی دکمه ها کار نمیکنه.
ایجاد محصول جدید درست کار میکنه اما ویرایش کردنش نه
این چیزایی که گفتید کار نکرد.
افزونه های مختلفی نصب کردم ولی کار نکرد
کل افزونه ها رو غیر فعال کردم و فقط ووکامرس فعال بود بازم نشد
قالب رو تعویض کردم نشد
خواهشا بگید چیکار کنم؟ اساسی گیر کردم
سلام من حالت دیباگ رو فعال کردم این خطا ها آمد
چگونه آنها را رفع کنم؟
باتشکر
سلام و احترام؛
موقتا افزونه wp-script-optimizer رو غیر فعال و وضعیت رو بررسی کنید.
ظاهرا این افزونه تداخل ایجد کرده.
مرسی
با سلام
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 524288 bytes) in /home/*/domains/*/public_html/wp-content/plugins/menu-icons/vendor/codeinwp/icon-picker/includes/types/fa.php on line 3452
این خطا را چطوری رفع کنم؟ وارد پنل مدیریت نمی شود
تشکر
سلام روزبخیر؛
در این راستا باید حفظه php سایتتون رو افزایش بدید بدین منظور توصیه میکنم راهنمای اموزشی زیر رو مطالعه کنید:
آموزش افزایش محدودیت حافظه php در وردپرس
ممنون
سلام روزبخیر؛
در این راستا باید از یک برنامه نویس کمک بگیرید یا اینکه کلا هسته وردپرس رو فرش کنید.
پاکسازی هسته وردپرس
در این راستا راهنمای بالا رو کامل مطالعه کنید. دقت داشته باشید قبل از هر تغییری یک فول بکاپ از سایت خودتون تهیه کنید.
با سلام برای من هیچ خطایی را نمایش نمیده ، مشکل از آنجا شروع شد که کدی را در آخر فایل wp-content.php قرار دادم و همه صفحات سایتم سفید شد . اون کد را برداشتم ولی مشکلم حل نشد الان بعضی صفحات سایت باز میشه ولی صفحه ورود مدیریت و بعضی برگه ها سفید میاد . ممنون میشم راهنمایی کنید.
سلام وقت بخیر؛
خیلی مهمه که اون قطعه کد روی کدام بخش از سایت شما تاثیر گذاشته… کد رو در چه قسمتی درج کردید؟ wp-content یک دایرکتوری شامل قالب و افزونه های وردپرسی هستش.
میتونید راهنمای زیر رو مطالعه بفرمایید یا آخرین نسخه بکاپ از سایتتون رو ریستور کنید.
حل مشکل صفحه سفید وردپرس در سایت و مدیریت
سلام برای حل این مشکل چه کنم
C:\xampp\htdocs\wp-content\themes\sahifa\framework\parts\meta-post.php on line 3
C:\xampp\htdocs\wp-content\themes\sahifa\framework\parts\meta-post.php on line 3
سلام و احترام؛
خطایابی وردپرس دقیقا داره به قالب صحیفه شما اشاره میکنه بهتره قالب سالم تهیه و جایگزین قالب فعلی کنید یا اینکه کلا قالب رو تغییر بدید.
خیلی ممنون کارتون درسته
سلام و درود
من هر زمان که در سایت ورد پرس یک عکس آپلود میکنم متاسفانه دو روز بعد هم سایت و قسمت ادمین با این پیام یک خطای مهم در این وب سایت رخ داده است.مواجه میشم
میشه بفرمایید قسمت ادمین این پیام می آید چگونه میشه وارد شد تا هم دیباگ اجرا بشه هم بسه از بک آپ استفاده کرد
واقعا ممنون میشم راهنمایی بفرمایی
سلام خسته نباشید
سایت من این ارور رو میده و اجازه نمیده اصلا وارد بشم
ایمیل هم در دسترس نیس دیگه متاسفانه
لطفا کمک کنید
یک خطای مهم در وب سایت شما وجود داشت. لطفاً صندوق ایمیل مدیر سایت را برای دستورالعمل بررسی نمایید.
دربارهٔ اشکالزدایی در وردپرس بیشتر بدانید.
سلام و احترام؛
در این زمینه می توانید راهنمای زیر را مطالعه نمایید:
رفع ارور این سایت مشکلات فنی را تجربه میکند در وردپرس
همچنین برای رفع مشکل ایمیل، می توانید با مراجعه به بخش phpmyadmin> دیتابیس فعال> جدول wp_users ایمیل متصل به وردپرس خود را تغییر دهید.
سلام من حالت دیباگ رو فعال کردم این خطا اومد (این افزونه Elementor Pro به درستی بارگذاری نشد و در حین حالت ترمیم متوقف شد.) از جای معتبری هم گرفته بودم چندین بارم استفاده کرده بودم اولین بار بود با همچین خطایی مواجه شدم مشکل از چی میتونه باشه ؟
سلام و احترام دوست عزیز؛
می توانید افزونه را در یک ساب دامین نصب و صحت عملکرد آن را بررسی نمایید.
چنانچه افزونه دارای مشکل بود از منبعی که افزونه از انجا تهیه شده است درخواست نمایید که افزونه را بررسی نمایند در غیراینصورت می توانید یک فول بکاپ از سایت خود تهیه نموده و افزونه را حذف و مجددا نصب و پیکربندی نمایید.