{"id":230332,"date":"2022-12-03T13:09:00","date_gmt":"2022-12-03T10:09:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230332"},"modified":"2022-12-03T18:50:39","modified_gmt":"2022-12-03T15:50:39","slug":"herramientas-nativas-de-depuracion-de-wordpress-que-no-requieren-un-ide","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/herramientas-nativas-de-depuracion-de-wordpress-que-no-requieren-un-ide\/","title":{"rendered":"Herramientas nativas de depuraci\u00f3n de WordPress que no requieren un IDE"},"content":{"rendered":"\n<p>Si acaba de unirse a la <strong><a href=\"https:\/\/tommcfarlin.com\/members-only-content\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">membres\u00eda<\/a><\/strong> del sitio y est\u00e1 buscando contenido espec\u00edficamente para <strong><a href=\"https:\/\/tommcfarlin.com\/tag\/the-independent-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">The Independent WordPress Developer<\/a><\/strong>, le recomiendo leer <strong><a href=\"https:\/\/wordpress.mediadoma.com\/es\/instalacion-de-wordpress-para-el-desarrollo-local\/\" title=\"la publicaci\u00f3n anterior\">la publicaci\u00f3n anterior<\/a><\/strong>, como m\u00ednimo, para prepararse para el contenido de esta publicaci\u00f3n.<\/p>\n<p>Sin embargo, si desea ponerse al d\u00eda con el art\u00edculo anterior, aqu\u00ed hay una breve lista de todo lo que se ha escrito hasta ahora:<\/p>\n<ol>\n<li><strong><a href=\"https:\/\/tommcfarlin.com\/local-development-for-the-indie-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Desarrollo local para el desarrollador independiente de WordPress<\/a><\/strong><\/li>\n<li><a href=\"https:\/\/tommcfarlin.com\/databases-and-tools-indie-wordpress-developer\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bases de datos y herramientas para el desarrollador independiente de WordPress<\/a><\/li>\n<li><a href=\"https:\/\/wordpress.mediadoma.com\/es\/instalacion-de-wordpress-para-el-desarrollo-local\/\" title=\"Instalaci\u00f3n de WordPress para el desarrollo local\">Instalaci\u00f3n de WordPress para el desarrollo local<\/a><\/li>\n<\/ol>\n<p>Mientras nos preparamos para pasar a hablar de temas m\u00e1s avanzados, como la depuraci\u00f3n y los IDE, primero vale la pena se\u00f1alar las herramientas que tenemos disponibles que podemos instalar dentro de WordPress que nos ayudar\u00e1n con los problemas de depuraci\u00f3n durante el desarrollo.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74ae7f1644.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74ae7f1644.png\" alt=\"Herramientas nativas de depuraci\u00f3n de WordPress que no requieren un IDE\"><\/a><\/p>\n<p>Adem\u00e1s, estos problemas no est\u00e1n relacionados estrictamente con problemas de PHP. Estos tambi\u00e9n incluyen problemas de JavaScript. Y para ir un paso m\u00e1s all\u00e1, hay formas en las que podemos configurar WordPress de forma nativa para que env\u00ede errores directamente a nuestro navegador.<\/p>\n<p>Entonces, antes de analizar los registros de errores, IDE, Xdebug, etc., veremos qu\u00e9 podemos hacer dentro de WordPress.<\/p>\n<h2>Herramientas de depuraci\u00f3n nativas de WordPress<\/h2>\n<p>Las herramientas de depuraci\u00f3n nativas de WordPress son una combinaci\u00f3n de dos cosas:<\/p>\n<ol>\n<li>las opciones que podemos establecer en el archivo de configuraci\u00f3n de WordPress que nos permiten ver informaci\u00f3n escrita en pantalla,<\/li>\n<li>varios complementos que nos ayudar\u00e1n a trabajar con archivos PHP y JavaScript desde el \u00e1rea de administraci\u00f3n de WordPress<\/li>\n<\/ol>\n<p>Para el segundo punto anterior, quiero dejar claro que hay muchos complementos disponibles para algo como esto; sin embargo, quiero mantener la instalaci\u00f3n lo m\u00e1s sencilla posible para que no nos inunden con demasiada informaci\u00f3n.<\/p>\n<p>En cambio, quiero que tengamos la informaci\u00f3n que necesitamos para probar y evaluar nuestro trabajo, pero que solo tengamos lo que necesitamos. Por ahora. Quiz\u00e1s hablemos de temas avanzados en futuras publicaciones.<\/p>\n<p>Dicho esto, comencemos.<\/p>\n<h3>Configuraci\u00f3n de WordPress<\/h3>\n<p>Antes de preocuparnos por la configuraci\u00f3n, el propio WordPress proporciona algunas opciones diferentes que podemos configurar en el <code>wp-config.php<\/code>archivo. Estos est\u00e1n bien documentados en el Codex, pero s\u00e9 por la experiencia de los correos electr\u00f3nicos de otros que la informaci\u00f3n puede ser un poco dif\u00edcil de filtrar.<\/p>\n<p>Primero, es importante tener en cuenta lo siguiente (citado en el C\u00f3dice de WordPress):<\/p>\n<blockquote>\n<p><a href=\"\/\/codex.wordpress.org\/WP_DEBUG)\" class=\"external external_icon\" rel=\"nofollow\" target=\"_blank\">WP_DEBUG<\/a> es una constante de PHP (una variable global permanente) que se puede usar para activar el modo de &quot;depuraci\u00f3n&quot; en WordPress. Se supone que es falso de forma predeterminada y, por lo general, se establece en verdadero en el archivo <a href=\"https:\/\/codex.wordpress.org\/Editing_wp-config.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp-config.php<\/a> en las copias de desarrollo de WordPress.<\/p>\n<\/blockquote>\n<p>Esto supone que entiendes las constantes de PHP. Si no, consulte el manual <strong><a href=\"https:\/\/secure.php.net\/manual\/en\/language.constants.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aqu\u00ed<\/a><\/strong> (es bastante sencillo). El resumen es el siguiente:<\/p>\n<blockquote>\n<p>Una constante es un identificador (nombre) para un valor simple.<\/p>\n<\/blockquote>\n<p>As\u00ed que voy a hacer lo que pueda para proporcionar las opciones de configuraci\u00f3n y destilarlo tanto como sea posible.<\/p>\n<p>Primero, en el <code>wp-config.php<\/code>archivo, querr\u00e1 cambiar la l\u00ednea <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-09-wp-config-original-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">que dice:<\/a><\/strong><\/p>\n<pre><code>&lt;?php\ndefine( 'WP_DEBUG', false );<\/code><\/pre>\n<p><strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/426e02bcfc411d43be6715b3e84ead7e#file-10-wp-config-debug-php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">A esto<\/a><\/strong> :<\/p>\n<pre><code>&lt;?php\ndefine( 'WP_DEBUG', true );<\/code><\/pre>\n<p>Sin embargo, eso no es todo. Hay algunas cosas m\u00e1s para agregar que mejorar\u00e1n la experiencia de depuraci\u00f3n:<\/p>\n<pre><code>&lt;?php\ndefine( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\ndefine( 'WP_DEBUG_DISPLAY', true );\n@ini_set( 'display_errors', 1 );\ndefine( 'SCRIPT_DEBUG', true );\ndefine( 'SAVEQUERIES', true );<\/code><\/pre>\n<p>Si est\u00e1s siguiendo el Pero, \u00bfqu\u00e9 significa cada l\u00ednea? Aqu\u00ed hay una explicaci\u00f3n tan sucinta como puedo dar ahora mismo:<\/p>\n<ul>\n<li><strong>WP_DEBUG<\/strong>. Esto mostrar\u00e1 los errores y advertencias arrojados por PHP al ejecutar WordPress. La ejecuci\u00f3n de la aplicaci\u00f3n por s\u00ed sola no deber\u00eda mostrar ning\u00fan problema; sin embargo, ejecutarlo junto con varios complementos puede ser una historia diferente seg\u00fan la calidad del complemento.<\/li>\n<li><strong>WP_DEBUG_LOG<\/strong>. Esta es una de mis constantes favoritas y escribe toda la salida en el registro de manera detallada. Voy a cubrir esto en una pr\u00f3xima publicaci\u00f3n pero, por ahora, sepa que esto es algo que creo que siempre debe establecerse en su <strong><a href=\"https:\/\/wordpress.mediadoma.com\/es\/instalacion-de-wordpress-para-el-desarrollo-local\/\" title=\"entorno de desarrollo.\">entorno de desarrollo.<\/a><\/strong><\/li>\n<li><strong>WP_DEBUG_DISPLAY<\/strong>. Este es uno que puede establecer en verdadero o falso (aunque prefiero verdadero). Complementa la configuraci\u00f3n anterior al permitirle ver los mensajes en el navegador que tambi\u00e9n se escriben en el blog. No s\u00e9 si esto es algo que encontrar\u00e1 beneficioso o no. Si no est\u00e1 preparado para revisar los seguimientos de la pila e informaci\u00f3n m\u00e1s detallada, es posible que desee considerar configurar este como verdadero.<\/li>\n<li><strong>mostrar_errores.<\/strong> El Codex menciona que puede configurar esto como falso, pero creo que deber\u00eda configurarse como verdadero como una forma de habilitar los errores y las advertencias.<\/li>\n<li><strong>SCRIPT_DEBUG<\/strong>. El n\u00facleo de WordPress utiliza versiones minimizadas de archivos CSS y JavaScript. Desactivar esta configuraci\u00f3n le permitir\u00e1 ver todo el contenido de los archivos en su forma original. Esto es particularmente \u00fatil si va a contribuir con Core o trabajar con JavaScript incluido en Core.<\/li>\n<li><strong>GUARDARCONSULTAS<\/strong>. Esta es una configuraci\u00f3n un poco m\u00e1s avanzada, en mi opini\u00f3n. En resumen, tomar\u00e1 todas las consultas que se ejecutan en la base de datos y las guardar\u00e1 en una matriz de PHP que luego podr\u00e1 analizar. Eso<\/li>\n<\/ul>\n<p>Ahora que hemos cubierto la configuraci\u00f3n de WordPress, \u00bfqu\u00e9 pasa con los complementos?<\/p>\n<h3>Complementos para la depuraci\u00f3n<\/h3>\n<p>Cuando digo que el repositorio est\u00e1 lleno de complementos para esto, lo digo en serio. De hecho, si eres nuevo en el desarrollo de WordPress, no te recomiendo que vayas a buscar cosas para instalar.<\/p>\n<p>Puede volverse abrumador r\u00e1pidamente, corre el riesgo de no entender lo que hacen algunos de ellos y, potencialmente, llevarlo por un camino en el que terminar\u00e1 estropeando su instalaci\u00f3n.<\/p>\n<p>En lugar de hacer eso, recomiendo echar un vistazo a los siguientes complementos (leer primero su descripci\u00f3n, por supuesto) y luego continuar desde all\u00ed:<\/p>\n<ol>\n<li><strong><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Barra de depuraci\u00f3n<\/a><\/strong>. Este complemento solo agrega un men\u00fa a la barra de administraci\u00f3n que le permitir\u00e1 ver la consulta, el cach\u00e9 y otra informaci\u00f3n. Requiere que WP_DEBUG y SAVEQUERIES como se describe anteriormente est\u00e9n habilitados.<\/li>\n<li><strong><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar-list-dependencies\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Depuraci\u00f3n de dependencias de estilos y secuencias de comandos de la lista de barras<\/a><\/strong>. Este es un complemento del complemento anterior que le permitir\u00e1 depurar m\u00e1s estilos JavaScript y CSS que se ejecutan en el contexto de WordPress.<\/li>\n<li><a href=\"https:\/\/wordpress.org\/plugins\/debug-bar-console\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Consola de barra de depuraci\u00f3n<\/a>. Este complemento es uno que debe usar con vacilaci\u00f3n. Como m\u00ednimo, le permite ejecutar PHP y MySQL desde el propio WordPress. No recomiendo este complemento a menos que se sienta muy c\u00f3modo con cualquiera de los dos idiomas. A\u00fan as\u00ed, si es as\u00ed, esto es algo que puede ser poderoso para crear prototipos de una funci\u00f3n o una consulta antes de construirla en su complemento.<\/li>\n<\/ol>\n<h2>Examen de registros de errores<\/h2>\n<p>En la pr\u00f3xima publicaci\u00f3n, comenzaremos a analizar lo que es necesario para examinar el registro de errores que genera WordPress y c\u00f3mo comprender la informaci\u00f3n que vemos.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74aee547cd.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-163128-61e74aee547cd.png\" alt=\"Herramientas nativas de depuraci\u00f3n de WordPress que no requieren un IDE\"><\/a><\/p>\n<p>Adem\u00e1s, vamos a ver qu\u00e9 es necesario para usar los complementos que se describen en esta publicaci\u00f3n. Despu\u00e9s de eso, pasaremos a herramientas a\u00fan m\u00e1s avanzadas.<\/p>\n<p>Pero un paso a la vez, \u00bfno?<\/p>\n<p>Sin embargo, por ahora, configure su instalaci\u00f3n como se describe anteriormente, instale los complementos vinculados y luego haga lo que pueda para explorar c\u00f3mo funcionan, qu\u00e9 puede ver en la pantalla y c\u00f3mo esto puede afectar y beneficiar positivamente su desarrollo.<\/p>\n<p>S\u00ed, puede haber un poco de una curva de aprendizaje. Pero es por eso que nos estamos tomando esto con calma. Hay mucho que aprender y tenemos mucho tiempo para cubrir todo el terreno necesario.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antes de analizar los registros de errores, los IDE, Xdebug, etc., veremos qu\u00e9 podemos hacer con las herramientas de depuraci\u00f3n nativas de WordPress.<\/p>\n","protected":false},"author":1,"featured_media":163129,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,716,861],"tags":[1172],"class_list":["post-230332","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=230332"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/230332\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/163129"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=230332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=230332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=230332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}