{"id":26704,"date":"2021-04-27T13:23:00","date_gmt":"2021-04-27T10:23:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26704"},"modified":"2021-10-17T17:56:30","modified_gmt":"2021-10-17T14:56:30","slug":"una-guia-sobre-como-mejorar-los-estandares-de-codificacion-de-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/una-guia-sobre-como-mejorar-los-estandares-de-codificacion-de-wordpress\/","title":{"rendered":"Una gu\u00eda sobre c\u00f3mo mejorar los est\u00e1ndares de codificaci\u00f3n de WordPress"},"content":{"rendered":"<p>Si eres un desarrollador, definitivamente est\u00e1s buscando mejorar tus est\u00e1ndares de codificaci\u00f3n. Cada lenguaje de programaci\u00f3n y su CMS \/ Frameworks ha establecido sus propios est\u00e1ndares de codificaci\u00f3n. En este art\u00edculo, estudiamos c\u00f3mo mejorar los est\u00e1ndares de codificaci\u00f3n de WordPress.<\/p>\n<p>Hemos escrito un art\u00edculo sobre <a href=\"https:\/\/themewp.inform.click\/es\/php_codesniffer-una-biblioteca-para-mejorar-sus-estandares-de-codificacion-php\/\" title=\"c\u00f3mo mejorar los est\u00e1ndares de codificaci\u00f3n PHP\" >c\u00f3mo mejorar los est\u00e1ndares de codificaci\u00f3n PHP<\/a>. Primero debe consultar este art\u00edculo antes de continuar con los est\u00e1ndares de codificaci\u00f3n para el desarrollo de WordPress.<\/p>\n<h3>Errores que cometemos durante la programaci\u00f3n de WordPress<\/h3>\n<p>Cada trabajo de desarrollo tiene diferentes soluciones. Probablemente cada desarrollador implemente una forma \/ l\u00f3gica diferente para dar el mismo resultado. Es natural en el mundo de la programaci\u00f3n.<\/p>\n<p>Por ejemplo, digamos que hemos agregado nonce en nuestro formulario de registro para evitar ataques CSRF.<\/p>\n<pre><code>&lt;form method=\"post\"&gt;\n&lt;?php wp_nonce_field( 'signup_nonce', 'signup_form_nonce' ); ?&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>Al enviar un formulario, tenemos que verificar si nonce es correcto o no. Normalmente, un desarrollador que no conoce los est\u00e1ndares de codificaci\u00f3n lo hace de la siguiente manera.<\/p>\n<pre><code>&lt;?php\nif (! isset( $_POST['signup_form_nonce']) ||! wp_verify_nonce( $_POST['signup_form_nonce'], 'signup_nonce')) {\n\u00a0\n\u00a0\u00a0\u00a0print 'Sorry, your nonce did not verify.';\n\u00a0\u00a0\u00a0exit;\n\u00a0\n} else {\n\u00a0\n\u00a0\u00a0\u00a0\/\/ process form data\n}\n?&gt;<\/code><\/pre>\n<p>No hay nada de malo en el c\u00f3digo anterior. Pero no es una buena pr\u00e1ctica. Al recuperar valores de campo de texto, debemos usar <code>sanitize_text_field()<\/code>y <code>wp_unslash()<\/code>funciones en los valores de campo de entrada.<\/p>\n<p><a href=\"https:\/\/codex.wordpress.org\/Validating_Sanitizing_and_Escaping_User_Data\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">El<\/a> m\u00e9todo <a href=\"https:\/\/codex.wordpress.org\/Validating_Sanitizing_and_Escaping_User_Data\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sanitize_text_field<\/a> realiza el siguiente proceso en segundo plano.<\/p>\n<ul>\n<li>Comprueba si UTF-8 no es v\u00e1lido<\/li>\n<li>Convierte caracteres &lt;\u00fanicos en una entidad<\/li>\n<li>Elimina todas las etiquetas<\/li>\n<li>Elimina los saltos de l\u00ednea, las pesta\u00f1as y los espacios en blanco adicionales<\/li>\n<li>Tira de octetos<\/li>\n<\/ul>\n<p><a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_unslash\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">El<\/a> m\u00e9todo <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_unslash\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_unsplash<\/a> elimina las barras inclinadas de una cadena o matriz de cadenas.<\/p>\n<p>Habiendo dicho eso, nuestro c\u00f3digo anterior deber\u00eda gustar a continuaci\u00f3n.<\/p>\n<pre><code>&lt;?php\nif (! isset( $_POST['signup_form_nonce']) ||! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['signup_form_nonce']) ), 'signup_nonce')) {\n\u00a0\n\u00a0\u00a0\u00a0print 'Sorry, your nonce did not verify.';\n\u00a0\u00a0\u00a0exit;\n\u00a0\n} else {\n\u00a0\n\u00a0\u00a0\u00a0\/\/ process form data\n}\n?&gt;<\/code><\/pre>\n<p>Este es un ejemplo. Hay varios otros errores que estamos cometiendo en nuestra programaci\u00f3n de WordPress.<\/p>\n<h3>Instalar la biblioteca de est\u00e1ndares de codificaci\u00f3n de WordPress<\/h3>\n<p><a href=\"https:\/\/github.com\/WordPress-Coding-Standards\/WordPress-Coding-Standards\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Esta biblioteca<\/a> nos ayudar\u00e1 a mejorar nuestros est\u00e1ndares de codificaci\u00f3n en el desarrollo de WordPress y nos establecer\u00e1 como un mejor desarrollador de WordPress.<\/p>\n<p>Para instalar esta biblioteca, abra el s\u00edmbolo del sistema en el directorio ra\u00edz de un proyecto y ejecute el siguiente comando.<\/p>\n<p><code>composer create-project wp-coding-standards\/wpcs --no-dev<\/code><\/p>\n<p><strong>Nota:<\/strong> Debe tener <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> instalado en su sistema para ejecutar el comando anterior.<\/p>\n<p>Despu\u00e9s de ejecutar el comando, crear\u00e1 una carpeta llamada &#8216;wpcs&#8217; en el directorio ra\u00edz de un proyecto.<\/p>\n<p>Suponemos que ha le\u00eddo nuestro art\u00edculo sobre c\u00f3mo <a href=\"https:\/\/themewp.inform.click\/es\/php_codesniffer-una-biblioteca-para-mejorar-sus-estandares-de-codificacion-php\/\" title=\"mejorar los est\u00e1ndares de codificaci\u00f3n PHP\">mejorar los est\u00e1ndares de codificaci\u00f3n PHP<\/a> y ha instalado la biblioteca PHP_CodeSniffer dentro de la carpeta &#8216;php_codesniffer&#8217; en el directorio ra\u00edz del proyecto.<\/p>\n<p>A continuaci\u00f3n, necesitamos registrar los est\u00e1ndares de WordPress en la configuraci\u00f3n de PHP_CodeSniffer. Abra el s\u00edmbolo del sistema en &#8216;php_codesniffer \/ vendor \/ bin&#8217; y ejecute el siguiente comando.<\/p>\n<p><code>phpcs --config-set installed_paths \/path\/to\/wpcs<\/code><\/p>\n<p>Reemplace &#8216;\/ ruta \/ a \/ wpcs&#8217; con su ruta. En nuestro caso, en la plataforma Windows, escribimos el comando de la siguiente manera.<\/p>\n<p><code>phpcs --config-set installed_paths D:wampwwwwp1wpcs<\/code><\/p>\n<h3>Descubramos nuestros errores y mejoremos los est\u00e1ndares de codificaci\u00f3n de WordPress<\/h3>\n<p>Nos hemos puesto con nuestra biblioteca. Ahora es el momento de encontrar nuestros errores y evitarlos la pr\u00f3xima vez.<\/p>\n<p>Digamos que hemos creado un complemento &#8216;test-plugin&#8217; y tenemos que validar un archivo llamado &#8216;core.php&#8217;.<\/p>\n<p>Abra el s\u00edmbolo del sistema en el directorio &#8216;wpcs \/ vendor \/ bin&#8217; y ejecute el siguiente comando.<\/p>\n<p><code>phpcs --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php<\/code><\/p>\n<p>Despu\u00e9s de ejecutar el comando, se le indicar\u00e1n los errores y advertencias. Todos estos errores y advertencias se muestran porque no hemos seguido las pr\u00e1cticas de codificaci\u00f3n est\u00e1ndar para el desarrollo de WordPress.<\/p>\n<p>Una buena parte es que obtenemos el informe detallado sobre los n\u00fameros de l\u00ednea y c\u00f3mo corregir ese error espec\u00edfico. Solo necesitamos mirar las pautas y corregir los errores uno por uno.<\/p>\n<p><code>phpcbf<\/code> El comando tambi\u00e9n puede corregir algunos errores menores como sangr\u00eda, espacios, etc.<\/p>\n<p><code>phpcbf --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php<\/code><\/p>\n<p>Esperamos que comprenda c\u00f3mo usar la biblioteca de est\u00e1ndares de codificaci\u00f3n de WordPress para mejorar los est\u00e1ndares de codificaci\u00f3n de WordPress. Si tiene alguna pregunta o sugerencia, deje un comentario a continuaci\u00f3n.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQuiere mejorar sus est\u00e1ndares de codificaci\u00f3n de WordPress? En este art\u00edculo, le mostramos c\u00f3mo descubrir errores de est\u00e1ndares de codificaci\u00f3n en nuestra programaci\u00f3n de WordPress y<\/p>\n","protected":false},"author":1,"featured_media":21633,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[410,606],"tags":[849],"class_list":["post-26704","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diverso","category-uncategorized-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=26704"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/26704\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/21633"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=26704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=26704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=26704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}