Skip to main content

Mostrar consultas realizadas por mi WordPress

Si lo que estamos buscando es optimizar nuestro wordpress, esta función te puede venir bien para saber cuantas consultas realiza a la base de datos.

Lo primero que tenemos que hacer es habilitar SAVEQUERIES en nuestro fichero «wp-config.php«

define('SAVEQUERIES', true);

Esto le dice a WordPress que guarde todas las consultas.

Para obtener la consultas realizadas hay que utilizar $wpdb->query, añadimos este código a nuestra página (por ejemplo en el footer)

global $wpdb;
echo '<pre>';
print_r($wpdb->queries);
echo '</pre>';

Obtendremos:

[0] => Array
        (
            [0] => SELECT option_name, option_value FROM dg_options WHERE autoload = 'yes'
            [1] => 0.00107002258301
            [2] => require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), wp_not_installed, is_blog_installed, wp_load_alloptions
            [3] => 1588409077.08
            [4] => Array
                (
                )

        )

Pruebas realizadas en la versión de WordPress 5.4.1

Activar/Enable en Mamp only_full_group_by (Mysql)

Como activar (enable) el parámetro de mysql only_full_group_by

Este es el error que daba el servidor mamp al realizar una consulta con group by:

Statement could not be executed (42000 - 1055 - Expression #15 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'basededatos.tabla.campo' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by)

Entramos al Phpmyadmin normalmente esta en «http://localhost/phpmyadmin», ahí nos dirigimos a la base de datos «mysql» vamos a la pestaña «Sql»

Ejecutamos:

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Solucionado ya podemos realizar consultas con group_by.

Pruebas realizadas con:

  • Mamp Versión 5.1
  • Mysql Versión 5.7.23
  • PhpMyAdmin 4.8.3