{"id":231824,"date":"2023-01-09T19:34:00","date_gmt":"2023-01-09T16:34:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231824"},"modified":"2022-11-10T05:21:31","modified_gmt":"2022-11-10T02:21:31","slug":"pasar-variables-a-una-plantilla-de-wordpress-de-manera-eficiente","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/pasar-variables-a-una-plantilla-de-wordpress-de-manera-eficiente\/","title":{"rendered":"Pasar variables a una plantilla de WordPress de manera eficiente"},"content":{"rendered":"<p>Un desaf\u00edo que enfrentan los desarrolladores de temas o complementos <code>get_template_part<\/code>es la incapacidad de pasar variables a la plantilla de WordPress cargada. Hay, sin embargo, una alternativa usando <code>locate_template<\/code>.<\/p>\n<h3>Visi\u00f3n general<\/h3>\n<p>En este ejemplo, vamos a mostrar tres entradas <a href=\"https:\/\/easydigitaldownloads.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">de Easy Digital Download .<\/a> He estado usando EDD por un tiempo y aunque tiene muchas caracter\u00edsticas, todav\u00eda es sorprendentemente liviano.<\/p>\n<p>Buscaremos las entradas y las guardaremos en la variable <code>$edd_download<\/code>. Luego cargaremos la plantilla de <a href=\"https:\/\/startfunction.com\/category\/wordpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">WordPress<\/a> pasando la variable. En realidad, pasar la variable es decir demasiado: simplemente cargaremos la plantilla de manera que la <code>$edd_download<\/code>variable tenga el alcance adecuado para ser utilizada en la plantilla cargada.<\/p>\n<h3>Cargando una plantilla de WordPress<\/h3>\n<p>Este c\u00f3digo se puede colocar en una funci\u00f3n. Luego puede conectar esa funci\u00f3n a un \u00e1rea de su tema usando un enlace de acci\u00f3n o simplemente llamar a la funci\u00f3n como una etiqueta de plantilla. En mis temas, uso ganchos para que los usuarios puedan agregar o eliminar contenido m\u00e1s adelante. Esto es todo lo que necesitamos para el c\u00f3digo:<\/p>\n<pre><code> 'download',\n    'posts_per_page' =&gt; 3,) );\n\nif ($edd_download) {\n\n    $part = locate_template( 'parts\/download-home.php' );\n    if ('' != $part) {\n\n        require $part;\n    }\n}<\/code><\/pre>\n<h3>C\u00f3digo de plantilla<\/h3>\n<p>Ahora necesitamos el archivo de plantilla de WordPress. Si nota la llamada anterior, <code>locate_template<\/code>espera encontrar el archivo <code>download-home.php<\/code>en el directorio <code>parts<\/code>dentro de la carpeta del tema.<\/p>\n<p>Siempre debemos recordar llamar <code>wp_reset_postdata()<\/code>despu\u00e9s de un bucle foreach si llamamos <code>setup_postdata()<\/code>.<\/p>\n<h3>Palabras de cierre<\/h3>\n<p>Entonces, despu\u00e9s de todo esto, \u00bfpor qu\u00e9 es \u00fatil? porque los usuarios pueden crear una plantilla en un tema secundario y anular f\u00e1cilmente la plantilla original. Se trata de hacerles la vida m\u00e1s f\u00e1cil a sus usuarios. Claro, esto tambi\u00e9n se puede lograr a trav\u00e9s de filtros o creando funciones conectables, pero algunos usuarios podr\u00edan considerar editar una plantilla centrada en una tarea como un enfoque m\u00e1s limpio que tratar con un archivo con muchas funciones para varias tareas diferentes y no relacionadas.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aprenda a pasar variables de manera eficiente a una plantilla de WordPress y util\u00edcelas en ella<\/p>\n","protected":false},"author":1,"featured_media":157983,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,716,831,914,1015,840,861],"tags":[1172],"class_list":["post-231824","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-guia-para-principiantes","category-otro","category-sitios-utiles","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231824","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=231824"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231824\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/157983"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=231824"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=231824"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=231824"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}