Ugrás a fő tartalomhoz

Debug Bar - WordPress Debug Panel

A Debug Bar egy egyszerű, de hasznos debug eszköz WordPress-hez. Az admin bar-hoz ad egy debug menüt, amely megmutatja a lekérdezések számát, a cache állapotát, a PHP figyelmeztetéseket és sok más hasznos információt.

Ajánlás

Modern projektekhez inkább a Query Monitor ajánlott, amely több funkcióval és jobb felhasználói élménnyel rendelkezik. A Debug Bar azonban továbbra is hasznos a számos kiegészítő add-on miatt.

Főbb funkciók

  • WP Query információk - Lekérdezések részletei
  • Objektum cache - Cache találatok és hiányok
  • PHP hibák - Notice, warning, error üzenetek
  • Deprecated funkciók - Elavult függvényhívások
  • Egyszerű felület - Könnyen áttekinthető panel

Telepítés

WordPress admin felületen

  1. Bővítmények > Új hozzáadása
  2. Keress rá: "Debug Bar"
  3. Kattints a Telepítés most gombra
  4. Aktiváld a bővítményt

WP-CLI-vel

wp plugin install debug-bar --activate

Composer-rel

composer require wpackagist-plugin/debug-bar --dev
wp plugin activate debug-bar

WP_DEBUG beállítása

A Debug Bar teljes funkcionalitásához engedélyezd a debug módot:

// wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'SAVEQUERIES', true );
KonstansLeírás
WP_DEBUGDebug mód engedélyezése
WP_DEBUG_LOGHibák naplózása (wp-content/debug.log)
WP_DEBUG_DISPLAYHibák megjelenítése (élesben false!)
SAVEQUERIESSQL lekérdezések mentése

Használat

Debug menü

Az admin bar-on megjelenik egy Debug menü. Kattints rá a panel megnyitásához.

Főbb panelek

WP Query

Az aktuális oldal lekérdezési információi:

  • Query type - Lekérdezés típusa
  • Query string - URL paraméterek
  • Queried object - Lekérdezett objektum (post, term, stb.)

Request

HTTP kérés részletei:

  • Request URI - Kért URL
  • Matched rewrite rule - Illeszkedő permalink szabály
  • Query string - Paraméterek

Object Cache

Cache statisztikák:

  • Cache hits - Találatok
  • Cache misses - Hiányok
  • Cache ratio - Hatékonyság

Deprecated

Elavult függvényhívások listája:

Function get_usermeta is deprecated since version 3.0.0!
Use get_user_meta() instead.
Called from: /wp-content/plugins/old-plugin/plugin.php:123

PHP Errors

PHP hibák és figyelmeztetések:

  • Notice
  • Warning
  • Error

Debug Bar Add-on-ok

A Debug Bar számos kiegészítő add-on-nal bővíthető:

Hivatalos és népszerű add-on-ok

Add-onFunkció
Debug Bar ConsolePHP és MySQL konzol
Debug Bar CronWP Cron feladatok
Debug Bar TransientsTransients kezelés
Debug Bar Actions and FiltersHook-ok listája
Debug Bar Post TypesEgyedi post típusok
Debug Bar TaxonomiesTaxonómiák
Debug Bar ShortcodesShortcode-ok
Debug Bar ConstantsWP konstansok
Debug Bar List Script & Style DependenciesJS/CSS függőségek
Debug Bar Remote RequestsHTTP kérések

Telepítés

# Több add-on telepítése
wp plugin install debug-bar-console debug-bar-cron debug-bar-transients --activate

Debug Bar Console

Interaktív PHP és MySQL konzol:

Telepítés

wp plugin install debug-bar-console --activate

Használat

  1. Nyisd meg a Debug Bar-t
  2. Válaszd a Console fület
  3. Írj PHP vagy MySQL kódot
  4. Kattints Run-ra

PHP példák

// Post lekérdezése
$post = get_post( 1 );
print_r( $post );

// Opcióslekérdezése
$options = get_option( 'siteurl' );
echo $options;

// Felhasználó adatai
$user = wp_get_current_user();
print_r( $user->roles );

MySQL példák

-- Bejegyzések száma
SELECT COUNT(*) FROM wp_posts WHERE post_status = 'publish';

-- Legnagyobb táblák
SELECT table_name,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = DATABASE()
ORDER BY (data_length + index_length) DESC;

Debug Bar Cron

WP Cron feladatok kezelése:

Telepítés

wp plugin install debug-bar-cron --activate

Funkciók

  • Ütemezett események - Összes cron esemény listája
  • Következő futás - Mikor fut legközelebb
  • Ütemezés típusa - hourly, daily, stb.
  • Hook - Melyik action fut

Hasznos információk

MezőLeírás
HookA futtatandó action neve
ArgumentsÁtadott paraméterek
Next RunKövetkező futás ideje
ScheduleIsmétlődés típusa

Debug Bar Transients

Transients kezelése és elemzése:

Telepítés

wp plugin install debug-bar-transients --activate

Funkciók

  • Site transients - Site szintű transient-ek
  • Network transients - Hálózati transient-ek (multisite)
  • Lejárat - Mikor jár le
  • Érték - Tárolt adat

Transient törlése

A panelből közvetlenül törölheted a transient-eket teszteléshez.

Debug Bar Actions and Filters

Hook-ok listázása:

Telepítés

wp plugin install debug-bar-actions-and-filters-addon --activate

Funkciók

  • Actions - Lefutott action-ök
  • Filters - Lefutott filter-ek
  • Priority - Futási sorrend
  • Callback - Regisztrált függvények

Hibaelhárítás

Debug Bar nem jelenik meg

  1. Ellenőrizd, hogy be vagy-e jelentkezve admin felhasználóként
  2. Ellenőrizd a WP_DEBUG beállítást
  3. Töröld a cache-t
// wp-config.php
define( 'WP_DEBUG', true );

Admin bar nem látszik

// functions.php - Admin bar engedélyezése
add_filter( 'show_admin_bar', '__return_true' );

Konfliktus más bővítményekkel

Próbáld ki Query Monitor helyett, ami modernebb és kevesebb konfliktussal jár.

Fejlesztői használat

Egyedi panel hozzáadása

/**
* Egyedi Debug Bar panel
*/
class My_Debug_Bar_Panel extends Debug_Bar_Panel {

public function init() {
$this->title( 'My Panel' );
}

public function prerender() {
$this->set_visible( true );
}

public function render() {
echo '<h3>Custom Debug Information</h3>';
echo '<pre>';
print_r( $GLOBALS['wp_query']->query_vars );
echo '</pre>';
}
}

add_filter( 'debug_bar_panels', function( $panels ) {
$panels[] = new My_Debug_Bar_Panel();
return $panels;
} );

Debug információ hozzáadása

// Saját debug információ
function my_debug_info() {
if ( ! class_exists( 'Debug_Bar' ) ) {
return;
}

global $wpdb;

error_log( 'Total queries: ' . $wpdb->num_queries );
error_log( 'Memory usage: ' . memory_get_peak_usage( true ) / 1024 / 1024 . ' MB' );
}
add_action( 'shutdown', 'my_debug_info' );

Debug Bar vs Query Monitor

FunkcióDebug BarQuery Monitor
SQL lekérdezésekAlapRészletes
PHP hibákIgenIgen
Hook-okAdd-on-nalBeépített
HTTP kérésekAdd-on-nalBeépített
BlokkokNemIgen
Feltételes függvényekNemIgen
Aktív fejlesztésMérsékeltAktív
BővíthetőségSok add-onKevesebb

Biztonság

Figyelmeztetés

Soha ne használd éles környezetben a Debug Bar-t aktiválva!

// Csak fejlesztői környezetben aktiválás
if ( defined( 'WP_DEBUG' ) && WP_DEBUG && is_admin() ) {
// Debug Bar aktív
} else {
// Deaktiválás
add_filter( 'debug_bar_enable', '__return_false' );
}

Hozzáférés korlátozása

// Csak adminoknak
add_filter( 'debug_bar_enable', function() {
return current_user_can( 'manage_options' );
} );

Források