Está en la página 1de 33

19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

ReInSpirit
Sobre Nosotros Descuento Elegant Themes Servicios Blog Contacto

Aprender PHP para el desarrollo de


WordPress – Guía completa
2 FEBRERO, 2015 POR PEDRO MENDEZ — 29 COMENTARIOS

Tabla de Contenidos 
1. Los lenguajes de programación de WordPress
1.1. Algunos consejos para el que empieza a programar
1.2. Lo que WordPress no es
2. Cómo trabajar con PHP
2.1. PHP en WordPress
2.2. ¿Cómo subir el nivel en programación de WordPress?
2.3. Aprender las malas prácticas
3. Una visión general importante sobre el código de WordPress
3.1. Habilitación de depuración
3.2. Temas Hijo “child theme”
3.3. El Query y el Loop
3.4. Consultas personalizadas “Custom Queries”
3.5. Ganchos “Hooks”

Supongamos que en estos momentos tienes un sitio web de WordPress y has


configurado tu plantilla, lees un poco acerca de las etiquetas de plantilla, y tal vez
incluso has modificado el archivo functions.php en el editor de temas del panel de
administración.

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 1/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Pero ahora, quieres que tus habilidades pasen al siguiente nivel y profundizar más
en el código.

Por suerte, WordPress es un buen lugar para empezar. Hay un buen tocho de
documentación disponible, el código es fácil de leer en su mayor parte, se explica
por sí mismo y no demasiado es difícil de recordar.

En este artículo, voy a mostrar una breve introducción al mundo de la


programación de WordPress. Mientras que este post está dirigido a principiantes,
voy a suponer que sabes cómo editar archivos de WordPress y te has mirado un
archivo de tu tema de WordPress, incluso si no entiendes lo que está pasando
dentro del archivo.

Los lenguajes de programación de WordPress


WordPress utiliza un número de diferentes lenguajes de programación. Si un
lenguaje tiene que ser señalado como el “principal”, este sería PHP, pue es el
lenguaje que está del lado del servidor y alimenta cerca del 82 por ciento de la
web.

WordPress también utiliza HTML, CSS y Javascript. HTML se utiliza para dar la
estructura del sitio y es empleado por todos los sitios web. CSS proporciona el

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 2/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

estilo a un documento HTML. Por ejemplo, CSS hace que su fondo sea blanco, el
texto de color gris oscuro y coloca la barra lateral a la derecha. Javascript, por otro
lado, añade características avanzadas como sliders y otras características
interactivas.

Finalmente, WordPress también utiliza MySQL como base de datos. MySQL se


utiliza por ejemplo para recuperar las últimas 10 entradas, o todas las entradas de
una categoría en particular de la base de datos.

Pues si, la mala noticia es que se trata de una cantidad considerable de


conocimientos. La buena noticia es que no necesitas saber de todo para empezar,
de hecho, se puede empezar a funcionar con muy poco. Se puede aprender
programación a través de WordPress con sólo copiar y pegar ejemplos de la
documentación.

Algunos consejos para el que empieza a programar


La mejor forma de aprender es a través de tutoriales, documentación y el trabajo
de los demás. La dificultad con la programación no proviene de la complejidad de
los lenguajes implicados. Si se desglosa en componentes, todo lo que se aprende
es fácil.

Si la programación puede ser difícil es por dos razones. Necesitas saber un


montón de cosas simples y con el fin de crear un producto de éxito, tienes que ser
capaz de pensar en términos de sistemas, que toma un poco de práctica.

Lo que debes tener claro es que mientras se aprende a codificar para WordPress,
tendrás un montón de momentos de autentica desesperación. Vas a estar
frustrado por la falta de comprensión desde el principio, pensando que un código
está perfectamente formado y no funciona, pasarás horas luchando con él sólo
para descubrir que has olvidado un punto y coma. Todo esto es perfectamente
normal. Cada programador ha sentido esto, no sólo tu.

Lo que WordPress no es
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 3/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Es importante darse cuenta de que técnicamente, no es lo mismo “codificar en


WordPress” y el “código de WordPress”. WordPress es un montón de código
escrito en PHP. Por ejemplo, Joomla y Drupal (otros dos sistemas de gestión de
contenidos) también están escritos en PHP.

Vamos a explicar lo anterior un poco mejor. Decir “código de WordPress” es como


decir un “coche BMW”. BMW, Mercedes y Nissan son todos coches. Todos se
construyen con tuercas, pernos y soldaduras. La diferencia entre ellos es la forma
en que se ponen juntas, las filosofías del diseño y las prácticas de encaje.

WordPress, Joomla, Drupal y todos los otros sistemas y frameworks que existen,
están todos construidos con los mismos componentes. La diferencia entre ellos es
la filosofía de codificación y metodologías que emplean.

Cómo trabajar con PHP


Como mencioné anteriormente, PHP es un lenguaje de script del lado del servidor.
En contraste, el HTML es un lenguaje de marcado de documentos del lado del
cliente. Analicemos HTML primero para entender lo que esto significa.

La forma en que tu navegador interpreta el código HTML es el siguiente: Cuando


visitas una página HTML se envía el código HTML para tu navegador. El navegador
procesa la información y devuelve algo que reconoces como una página web.

Cuando el navegador visita una página que utiliza PHP, se emplea un paso
intermedio. En primer lugar el código PHP es procesado por el servidor. El
resultado de este procesamiento es una página HTML, que se envía al navegador y
se muestra para que puedas verlo.

El procesamiento adicional por el servidor parece como un paso innecesario, pero


ni mucho menos. Veamos un ejemplo práctico con código PHP real:

<?php if( date( 'G' ) > 18 ) : ?>

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 4/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

<h2>Buenas noches</h2>

<?php else : ?>

<h2> Buenos días </h2>

<?php endif ?>

Sin ningún conocimiento de código PHP, ya podemos obtener alguna información


sobre este. Sólo con verlo, se puede interpretar que en un conjunto particular de
circunstancias se va mostrar “Buenas noches”, y en otras se mostrará “Buenos
días”.

Cuando nos fijamos en la fuente de la página web resultante no habrá rastro de


este código. Todo lo que se ve es “Buenos días” o “Buenas noches” según que
circunstancias. Esto se debe a que el servidor realiza el procesamiento y sólo envía
el resultado.

En el ejemplo anterior se ha utilizado la función de fecha para determinar qué


hora es. date ( ‘G’ ) devuelve un número del 0 al 23, donde 0 representa la
medianoche y el 23 representa las 23:00. Si el valor de esta función es más de 18
(que es posterior a las 18:00) mostramos las buenas noches. De lo contrario nos
mostrará los buenos días.

Ahora sabemos dos cosas acerca de PHP. Se nos permite utilizar sentencias if para
mostrar contenido en función de nuestros propios criterios. También sabemos
que tiene funciones, que nos ayudan a llevar nuestro objetivo a cabo. La función
date() devuelve la fecha actual en un formato determinado. La función strtolower
() convierte cualquier texto a minúsculas.

PHP en WordPress
Con ese último párrafo en mente, puedes reconocer PHP en todas las partes de
WordPress. Abre el content.php del tema por defecto Twenty Fourteen y échale un
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 5/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

vistazo. Este archivo se encarga de mostrar el contenido de las entradas del blog
en el tema.

Vamos a comparar la primera línea de este archivo (desechando el comentario en


la parte superior)…

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

… Con la salida que genera cuando se visita la página:

<article id="post-344" class="post-344 post type-post status-publis

Podemos deducir de la comparación que la función the_ID() se sustituye por el ID


del artículo en cuestión. La función post_class() añade una gran cantidad de clases
para el elemento HTML. Estos nos ayuda a estilizar nuestras entradas más
adelante. No es importante en esta etapa saber por qué se añaden estas clases
específicas, sólo estamos familiarizándonos con funciones.

Más adelante, mirando de las líneas desde la 24 a la 28 también podemos ver una
sentencia if:

if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_perma
endif;

La sentencia if contiene is_single(). Ésta es una función que devuelve ‘verdadero’ si


estamos ante una única página de entrada “single post page”, de lo contrario
devolverá ‘falso’. Cuando es verdadero, y estamos en una sola página, utilizamos la
función the_title() para emitir el título.

Si es falsa, seguimos usando la función the_title(), pero nos aseguramos de que se


trata de un enlace a la única página de entrada.
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 6/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Ten en cuenta que algunas funciones son vacías “empty”, mientras que algunas
tienen partes y piezas dentro de ellas. Por ejemplo, is_single() es una función de
vacío mientras the_title() tiene algo dentro del paréntesis.

Los elementos dentro del paréntesis se llaman argumentos. Cada función tiene
diferentes argumentos separados por comas, que se puede aprender a través de
la documentación. El artículo del Codex sobre the_title () nos muestra que esta
función tiene tres argumentos:

1. El primer argumento nos permite agregar HTML antes del título.


2. La segunda nos permite agregar HTML después del título.
3. El tercer parámetro determina el tiempo que el título se muestra o simplemente
se almacena para su uso posterior.

Con base a esto, ahora entendemos lo que está pasando en la línea 25 del archivo
content.php:

the_title( '<h1 class="entry-title">', '</h1>' );

La función muestra el título, pero se antepone un tag de apertura H1 en este y


anexa la etiqueta final.

El resultado de este código es el siguiente en el navegador:

<h1 class="entry-title">El título de mi artículo</h1>

¿Cómo subir el nivel en programación de WordPress?


Es probable que no quieras pasar semanas trasteando a través de la
documentación de PHP y aprendiendo todo desde el principio. Pero debes
hacerlo, y también te recomiendo que experimentes tanto como sea posible.

¿Quieres pasar la lista de etiquetas de la parte inferior del artículo a la parte de


arriba? La función the_tags() en la parte inferior del archivo content.php parece ser

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 7/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

la clave.

En primer lugar vamos a eliminarla. Luego, al guardar y actualizar la página, la lista


de etiquetas desaparece. Esto es bueno, ya que significa que es la función que da
salida a las etiquetas. Ahora sólo tienes que copiarlo y pegarlo en diversas partes
del archivo para ver dónde termina.

Es probable que cuanto más alto incluyas el código, más alto estará en el
contenido. Con un poco de experiencia, serás capaz de identificar las cosas como
the_excerpt() y the_content() siendo responsable de mostrar el contenido, por lo
que poner en cualquier lugar por encima de estos, los colocará por encima de la
página principal.

Aprender cómo codificar para WordPress de esta manera es divertido y te anima a


leer la documentación, que siempre es algo muy bueno. No te preocupes si no lo
entiendes todo, se llega a un punto en que lo haces lo suficientemente pronto.

Aprender las malas prácticas


Una desventaja de este método es que empleas malas prácticas. Mientras que mi
recomendación de copiar y pegar la función the_tags() para la parte superior del
archivo funciona en alguna parte, el HTML para el pie de página, que utiliza la
etiqueta de pie de página, necesitará alguna modificación para que sea un código
correcto.

Una vez más, olvídate de esto por ahora. No estás construyendo a nivel
profesional un código listo para mostrarlo a Google. Estás tratando de aprender lo
básico y averiguar cómo funciona todo. Esto no es una tarea fácil y los errores son
parte del proceso.

Una vez que tengas un buen conocimiento del código detrás de WordPress,
puedes empezar un aprendizaje de sus malas prácticas, y puedes comenzar a
estudiar los patrones de codificación y averiguar por qué hacemos las cosas de la
manera que lo hacemos.

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 8/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Una visión general importante sobre el código


de WordPress
WordPress tiene una serie de “subsistemas”, como el “loop” que controla las
entradas que se muestran. Los ganchos “hooks” que permiten modificar la
funcionalidad por defecto, varias APIs y el curso de temas y plugins. Vamos a ver
una breve introducción a algunos de los sistemas más importantes que pueden
aparecer.

Habilitación de depuración
Por defecto, WordPress ocultará cualquier error de código. Esto es recomendable,
pero puede dar lugar a dos problemas durante el desarrollo. Si cometes un error
no fatal, no recibirás mensajes de error y tu código, o bien no va a hacer nada o no
producirá el resultado esperado.

La otra cuestión es una pantalla blanca de la muerte. No hay mensajes de error,


sólo una pantalla en blanco sin acceso a la parte delantera o backend. Para
asegurarte de que esto no ocurra debes habilitar la depuración, el cual te
proporcionará los mensajes de error.

Esto se puede hacer mediante la edición del archivo wp-config.php en el directorio


raíz de la instalación de WordPress. Busca la línea que contiene: define(
‘WP_DEBUG’, false ); y cambiar falso a verdadero “true”. Eso es todo lo que hay que
hacer.

Temas Hijo “child theme”


Los temas hijo son temas separados, que se basan en un tema principal. Estos
heredan todo desde el tema padre, a menos que se especifique lo contrario. Esta
es la única manera segura para modificar un tema. Como mencioné
anteriormente, la forma más fácil de aprender es modificar un tema existente. Me
gustaría añadir que con eso y el uso de un tema hijo.

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 9/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Si creas un tema hijo basándote en Twenty Fourteen, aún puedes personalizarlo a


tu gusto, pero también puedes actualizar el tema sin perder todos los cambios.
Esto es algo que también debes tener en cuenta cuando se trabaja con los
clientes. Siempre – Siempre utiliza un tema hijo.

La creación de un tema hijo es un juego de niños. Solo es necesario crear una


nueva carpeta en el directorio themes y el nombre que quieras darle. Para nuestro
ejemplo, vamos a crear una carpeta llamada “tema-hijo”. Dentro de esta carpeta
creamos dos archivos; style.css y functions.php. Abre la hoja de estilo y utiliza el
siguiente para crear el tema hijo:

/*
Theme Name: Twenty Fourteen Child
Theme URI: http://mitema.com
Description: Mi tema hijo
Author: Pedro Mendez
Author URI: https://reinspirit.com
Template: twentyfourteen
Version: 1.0.0
Tags: light, dark, two-columns, right-sidebar, responsive-layout,
accessibility-ready
Text Domain: mi-tema-hijo
*/

/* =La personalización del tema empieza aquí


-------------------------------------------------------------- */

En realidad se puede usar lo que quieras en el ejemplo anterior, la única


restricción es la línea que comienza con “Template”. Esto debe contener el nombre
del directorio del tema principal.

Para el uso de temas hijos, la regla es la siguiente: Cada vez que un archivo se
carga en WordPress lo busca en el tema hijo primero. Si no existe, el mismo

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 10/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

archivo desde el tema padre será el que carge. La única excepción a esto es el
functions.php . Los archivos de función de ambos temas serán cargados, primero
el tema hijo y luego el tema principal.

En este punto puedes cambiar a tu tema hijo, pero tu sitio vas a estar desprovisto
de cualquier estilo. Basándonos en nuestra regla anterior es fácil ver por qué. La
hoja de estilo se carga desde el tema hijo, ya que style.css existe en el tema hijo,
pero esta no contiene ninguna información de estilo.

El siguiente paso es cargar los estilos del tema principal. Esto se puede hacer con
“enqueue” para la hoja de estilo del tema padre. No te preocupes demasiado por
esto. Puedes copiar y pegar el siguiente código en tu tema hijo, en el archivo
functions.php. Ten en cuenta que esto carga los estilos del tema padre.

add_action( 'wp_enqueue_scripts', 'my_parent_styles' );


function my_parent_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri().'/st
}

En este momento tu tema hijo es exactamente el mismo que tu tema padre. Ahora
puedes empezar a modificar lo que quieras. Puedes utilizar la hoja de estilos para
anular estilos o añadir tus reglas adicionales. Si deseas modificar el archivo
“index”, por ejemplo, todo lo que necesitas hacer es crearlo.

Si creas un archivo index vacío entonces cualquier página que utilice ese archivo
estará en blanco. Todas las demás páginas continuarán trabajando bien desde
que usan el tema principal. Puedes comenzar, ya sea escribiendo tu propio código
en el archivo index o puedes copiar y pegar el código del tema padre y modificar
este.

El resultado de esto debería ser el siguiente: Puedes modificar el contenido de un


tema existente desde su núcleo, pero aún así ser capaz de actualizar el tema
padre o cambiar de nuevo el tema padre en cualquier momento.

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 11/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

El Query y el Loop
El Query “la consulta” es el sistema que “sabe” que entradas mostrar en una
página y el Loop “bucle” es la parte que realmente pasa por cada entrada y los
muestra. Por ejemplo, en tu página principal el query busca las 10 entradas más
recientes. En una página archivo de categorías, la consulta busca las 10 entradas
más recientes de la categoría dada. La consulta se utiliza incluso en las páginas
individuales donde se ve un solo post en la base de datos.

La consulta es algo que se puede modificar y utilizar para tus propias necesidades,
pero por ahora nos concentraremos en el uso por defecto o estándar. Sólo
usaremos el resultado a través del bucle.

El bucle toma todos las entradas que la consulta ha devuelto y pasa a través de
cada uno de ellos uno por uno. En algunas páginas, como las páginas individuales,
sólo hay una entrada. Esto cuenta como una “colección” de entradas, en este caso
la colección se compone de una sola entrada.

Veamos el código básico para un bucle y como pasa línea por línea:

<?php if( have_posts() ) ?>


<?php while( have_posts() ) : the_post() ?>
<div <?php post_class() ?>>
<h2><?php the_title() ?></h2>
<div class='content'>
<?php the_content() ?>
</div>
</div>
<?php endwhile; ?>
<?php else: ?>
Aquí no hay entradas
<?php endif ?>

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 12/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

La primera línea utiliza una sentencia if junto con la función have_posts() para
averiguar si hay alguna entrada para la consulta. Si no hay ninguna entrada, se
ejecuta el código después de la sección “else”, que notifica al usuario que no hay
entradas.

Si hay entradas utilizamos un bucle PHP. Hay unos cuantos tipos de bucles en
PHP. Para repasar la sintaxis y algunos ejemplos más, échale un vistazo a este
tutorial sobre tipos de bucles en PHP.

En el código anterior usamos un bucle “while”, que contiene la función


have_posts() de nuevo. Esta función devuelve “false” cuando no hay posts en el
bucle, o no hay más posts en el bucle porque todos estos se han mostrado.

Todo dentro de nuestro bucle while se ejecuta mientras que el valor de esta
función es “true”. Esto es exactamente lo que necesitamos. Tan pronto como
hemos mostrado el último post, el valor de have_posts() será false por lo que el
bucle termina.

Dentro del bucle se ha creado una pantalla muy rudimentaria de un post


utilizando las etiquetas de plantilla que hemos aprendido anteriormente.

El bucle se debe utilizar en cualquier archivo de plantilla del tema que enumera las
entradas. Buscar páginas, páginas de entrada individuales, páginas de archivo, el
archivo de index, en cualquier momento que están listas las entradas usa un loop.

Consultas personalizadas “Custom Queries”


Es poco común aprender primero sobre consultas personalizadas, pero lo visto, es
uno de los temas más buscados después de las características de WordPress. En la
sección anterior hemos aprendido cómo se puede enumerar entradas utilizando
el bucle, pero estamos limitados por lo que se devuelve de forma predeterminada.
¿Qué pasa si deseas mostrar los siguientes posts relacionados en la misma
categoría en una entrada individual? Esto es fácil con custom queries y el loop.

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 13/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Puedes crear una consulta personalizada usando la clase WP_Query. No hemos


hablado de las clases, pero su uso es bastante sencillo. He aquí un ejemplo que
muestra las entradas programadas de una categoría específica. Puedes usar esto
para mostrar una sección de “Siguientes artículos en esta categoría”.

<?php
$args = array(
'post_type' => 'post',
'post_status' => 'future',
'category_name' => 'app_reviews',
'posts_per_page' => 3
);
$coming_soon = new WP_Query( $args );
?>

Como puedes ver esto es bastante sencillo. Para modificar esto para tus
necesidades, modificando el contenido de $args array. Hay un montón de
parámetros que puedes utilizar para restringir las entradas en función de tu fecha
de publicación, en base a sus autores, categorías, campos personalizados y mucho
más. Echa un vistazo a la documentación WP_Query para obtener una lista
completa.

Ahora que tenemos una consulta personalizada podemos utilizar un bucle


personalizado para mostrar el contenido. Todo lo que necesitamos hacer es
agregar el prefijo de have_posts() y the_post() que funciona con el nombre de la
variable que contiene la consulta y una “flecha”:

<?php if( $coming_soon->have_posts() ) ?>


<ul>
<?php while( $coming_soon->have_posts() ) : $coming_soon->the_post(
<li <?php post_class() ?>>
<a href='<?php the_permalink() ?>'><?php the_title() ?></a>
</li>
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 14/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

<?php endwhile; ?>


</ul>
<?php endif ?>

Fijate que no se ha utilizado la parte else del bucle y se utiliza una lista HTML en
lugar de divs. Desde este bucle se pretende enumerar una lista de posts debajo de
un post individual completo, es mejor no mostrar nada si no hay entradas.
Además, una simple lista con enlaces en ese lugar, debe ser suficiente para que los
usuarios pulsen en estos.

Ganchos “Hooks”
WordPress utiliza un ingenioso sistema que te permite modificar las funciones del
núcleo “core”. Si no entiendes el núcleo de WordPress te aconsejo lo siguiente:
bajo ninguna circunstancia se debe modificar los archivos centrales. Esto significa
que no se puede editar cualquier archivo que viene con WordPress por defecto.

Sé que a veces parece que es la única manera, pero nunca se debe hacer. Todo lo
que puedas necesitar, se puede hacer con ‘hooks’ u otros métodos. La
modificación de los archivos centrales no sólo es peligroso, si no que además
cualquier cosa que hagas será sobrescrita por una versión actualizada de
WordPress.

Los hooks permiten modificar el funcionamiento por defecto de WordPress.


Vienen en dos formatos: acciones y filtros “actions/filters”. Las acciones te
permiten ejecutar una función propia tuya en lugares específicos en el código de
WordPress. Por ejemplo, mediante el uso de un hook que puede ejecutar una de
tus propias funciones cuando WordPress publica un post. Esto permite notificar el
autor, por ejemplo.

Los filtros te permiten modificar los datos antes de su uso. Por ejemplo, se puede
usar un filtro para modificar el texto que se muestra al usuario cuando se guarda
una entrada. En lugar de “Guardar borrador, Publicar, Actualizar,” podrías
modificar esto para decir “El borrador se ha guardado”.
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 15/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Un gran ejemplo de un hook de acción es wp_footer. Esta acción se lleva a cabo


justo antes de la etiqueta del cuerpo de cierre de un tema. Te permite añadir tus
propios contenidos hasta la parte de final de un tema sin necesidad de modificar
el archivo de pie de página del tema en sí mismo. En el functions.php de tu tema
podrías utilizar lo siguiente para agregar un código de seguimiento a tu sitio:

add_action( 'wp_footer', 'my_tracking_code' );


function my_tracking_code() {
?>
// Pega el código de Google Analytics aquí
<?php
}

La primera línea le dice a WordPress que nos gustaría añadir nuestra función
my_tracking_code() para el hook wp_footer. Cuando WordPress carga una página y
ve el hook wp_footer, este mira todas las funciones vinculadas a la misma y los
ejecuta.

Nuestra función a continuación, agrega el código de seguimiento de Google


Analytics para el pie de página.

Esta es la base del funcionamiento de los plugins. Si quieres crear un plugin y


pegar el mismo código allí no tendrías que modificar tu tema en absoluto. Lo que
esto significa es que incluso si cambias de tema, tu código de Google Analytics
continuará trabajando sin problemas.

Para mostrar cómo funcionan los filtros, vamos a modificar el contenido de un


post con uno. El filtro the_content() se ejecuta antes de que muestre el contenido
de un post. Utilizamos un hook para atar una función para que podamos
modificarlo.

El código siguiente agrega el texto “Comprobado por” automáticamente después


de cada entrada individual (o más exactamente, en cualquier momento que el
contenido del post completo es mostrado).
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 16/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

add_filter( 'the_content', 'my_content_filter' );


function my_content_filter( $content ) {
$content .= ' (Comprobado por Pedro Mendez)';
}

Ten en cuenta que la función en este tiempo ha recibido un parámetro. Cada filtro
y acción pueden tener uno o más parámetros. Tendrás que comprobar la
documentación para ver lo que puede hacer el hook en concreto que se estamos
usando. Para obtener una lista de las acciones y filtros recomiendo la acciones de
referencia y el filtro de referencia.

Lectura adicional

Hay mucho que se puede aprender acerca de WordPress y una gran cantidad de
los conocimientos están disponibles de forma gratuita. He reunido algunos
recursos para ti y por categorías. Espero que encuentres estos recursos útiles.

Documentación WordPress

WordPress Codex – La página principal de toda la documentación de WordPress.


El Codex pronto será reemplazado por recursos para desarrolladores
Etiquetas de Plantilla – Funciones que puedes utilizar en los bucles
Etiquetas Condicionales – Funciones que devuelven verdadero o falso en
escenarios específicos
Referencia al WP_Query – El lugar para ir si necesitas una consulta personalizada
Referencia a Función – Una enorme lista de funciones que puedes utilizar
Referencia a Acción – Si necesitas para ejecutar tus propias funciones
Referencia a Filtro – Si necesitas modificar cadenas o matrices utilizadas por
WordPress
Referencia al Hook – Completa referencia a acción y filtro
Desarrolla un Plugin – La guía de inicio para escribir plugins
Desarrolla un tema – La guía de introducción a la creación de un tema
Temas Hijo – Una guía para crear un tema hijo

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 17/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

API de WordPress – Una lista de los usos API de WordPress


Referencia a Clases – Una lista de usos clases para el uso en WordPress

Cursos completos

Codecademy – Codecademy tienen clases interactivas para varios idiomas


Treehouse – vídeos increíbles en una variedad de codificación de temas
relacionados
Tuts + – Grandes cursos sobre una serie de temas diferentes

Aprendiendo sobre PHP

Manual de PHP – La documentación oficial de PHP


Codecademy – Tutorial interactivo PHP completo
W3Schools – Gran tutorial completo de PHP
Tizag – Otra guía completa PHP

HTML, CSS y Javascript

W3Schools – W3Schools tiene tutoriales completos a todos los idiomas y más


mucho más
HTML 5 Doctor – Un gran lugar para aprender sobre nuevas etiquetas y las
sutilezas de HTML5

Obtención de ayuda

WordPress Foros de soporte – Foros Oficiales de WordPress

Temas avanzados

Sass – CSS con superpoderes


LESS– CSS con soporte para las variables y funciones
OOP PHP – Orientado a objetos PHP
Tutorial SQL – Aprende cómo consultar la base de datos tu mismo
Laracasts – PHP Moderno y tutoriales Laravel
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 18/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Koala – Gratuito, multiplataforma de código del compilador


Prepros – Premium, multiplataforma de código del compilador
CodeKit – Compilador código OSX
Grunt – Gratis, terminal basado en código compilador

Fuente: wpmudev.org

 Compart  Tuitea  Pinear


1  Compa
0

..Entradas Relacionadas

Como saber en Más de 19 Como crear un Como mostrar Mostrar


todo momento herramientas y Tema de la hora en el entradas
el uso de plugins para el WordPress formato de relacionadas
memoria del desarrollo y desde una fechas de con Miniaturas
servidor de diseño con plantilla HTML WordPress en Génesis sin
WordPress WordPress plugins

Archivada en: Programación, Wordpress Etiquetada con: php

¿Te ha gustado este artículo? Pues dejanos tu voto ;)

(13 Votos, Promedio: 4,77 de 5)

Sobre el autor
Webmaster y SEO. Autodidacta empedernido buscando siempre nuevas
fuentes de conocimientos. Pedro Mendez

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 19/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Comentarios

Juan Carlos dice


22 febrero, 2015 en 12:36 AM

Hola Pedro. Es increíble el post que te has marcado. Mira que hay actualmente
buenos blogueros y excelentes artículos, es para estar dando las gracias todo el
día por ello, pero este tuyo me ha sorprendido muy gratamente; parece un
agujero negro en el que has condensado un montón de conceptos enlazados e
información útil, además de los enlaces para complementar la faena.
¡Gracias y enhorabuena por tus artículos tan frescos y originales!

Responder

Juan Carlos dice


22 febrero, 2015 en 12:42 AM

Hola de nuevo Pedro. Acabo de ver que me he colado, y tienes la fuente al final
del post, jeje cosas del entusiasmo. De todos modos me reitero en felicitarte
porque si es cierto que tienes una selección de artículos muy original y con un
toque diferente que se agradece. Tu verás lo que haces con el comentario
anterior 😉

Responder

Pedro Mendez dice


23 febrero, 2015 en 1:43 PM

Hola Juan Carlos. Si, es un artículo en Inglés que he pasado a nuestro


idioma. De esta forma me ayuda a mi, porque al redactarlo de nuevo
aprendo paso a paso por el camino e incluyo algunos aspectos más si veo

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 20/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

que falta algo, y lo tengo aquí archivado para cuando me hace falta.
Además os sirve a vosotros pues está abierto para todo el mundo.
Saludos!

Responder

Ro dice
8 abril, 2015 en 8:34 PM

Hola,

Tengo una consulta sobre la parte de Temas Hijo “child theme”.


En este párrafo:
“El siguiente paso es cargar los estilos del tema principal. Esto se puede hacer
con “enqueue” para la hoja de estilo del tema padre. No te preocupes demasiado
por esto. Puedes copiar y pegar el siguiente código en tu tema hijo, en el archivo
functions.php. Ten en cuenta que esto carga los estilos del tema padre.”

Es posible que al activar el child-theme no tenga que llamar a los estilos del
padre en en functions.php, es decir, es posible que al activar el child theme se
conserven los estilos que el sitio ya tiene.

Responder

Pedro Mendez dice


8 abril, 2015 en 8:52 PM

Hola Ro. Esa opción es por si quieres tener los mismos estilos que el
tema padre. Si quieres un diseño distinto solo tienes que crear un archivo
style.css para tu tema hijo y que todo el diseño este aparte, y no se pierda
el diseño cuando actualizas el tema padre

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 21/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Responder

Karen dice
19 junio, 2015 en 7:41 PM

Gracias por la excelente traducción de la nota. Muy bien explicado, abarcando


todos los aspectos fundamentales para empezar a programar con Wordpress en
php. Hace rato que ando buscando un tutorial que muestre paso a paso desde el
principio hasta el final cómo crear un sitio con wordpress que tenga un login de
usuario y panel de control para entregar al cliente y él mismo gestione su
contenido. Es posible? Me refiero a que no tenga que entrar al panel general de
wordpress, sino que se logee y tenga unas pocas opciones, como un cuadro de
texto que permita también subir imágenes, algo bien simple. Muchas gracias !!

Responder

Pedro Mendez dice


29 junio, 2015 en 11:47 AM

Hola Karen. A ver si esto te ayuda https://reinspirit.com/plugins-


personalizar-panel-administracion-wordpress/

Responder

edgard dice
9 julio, 2015 en 12:35 AM

Hola agradecerte por tu aporte y tu tiempo!! gracias hombre!

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 22/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Te quería hacer una consulta, estoy trabajando en un tema hijo, me eh copiado


el archivo skeleton.css del padre al hijo para modificar el ancho de la pagina, por
que el cuerpo de la pagina tiene 960px y le quiero colocar a 1080px .

Hasta ahora no consigo refrescar los cambios, que puede estas pasando?
eh realizado un cambio en el style.css en el menú específicamente y me lo ah
modificado correctamente.

saludos !!

Responder

Pedro Mendez dice


10 julio, 2015 en 7:36 PM

Hola Edgard. Como dice el tutorial tienes que incluir unas lineas de
código en el archivo funtions.php para que utilice los estilos del tema hijo

Responder

ivan dice
6 septiembre, 2015 en 6:49 PM

Estimado Pedro, por tu claridad y conocimientos, se me ocurre que me puedes


ayudar, por favor.
El problema que tengo, es que quiero instalar en el home de mi web, en lugar
del banner que viene por defecto, un meta-slider que ya tengo bajado. El tema
de mi web es GALAO de wordpress.
Me metí a apariencias, editor, y he hecho de todo y ni logro que quede bien.
Lo que ocurre, es que el metaslider, al ser intalado, queda bloqueando los
botones de menús,

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 23/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

y no se pueden usar. Por lo tanto no sirve. Me puedes orientar. O dar algún


consejo? Por favor.

Responder

Pedro Mendez dice


7 septiembre, 2015 en 9:04 PM

Hola Ivan. Pues ahí habría que mirar cual es el problema en profundidad,
pues parece que el slider no es compatible con el diseño de la plantilla.
Puedes tocar las CSS del theme o del slider y hacer pruebas, pero claro, te
hace falta conocimientos de diseño para eso

Responder

Arnold dice
20 septiembre, 2015 en 7:41 PM

Muy interesante y muy buen contenido, gracias por compartirlo y siempre tener
en cuentas los programas que usa Wordpress, ya que es fundamental para
empezar a realizar y modificar un tema.

Saludos,

Responder

Pedro Mendez dice


22 septiembre, 2015 en 1:02 PM

Gracias a ti por comentar Arnold!

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 24/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Responder

Max dice
20 noviembre, 2015 en 2:28 PM

Buenos días, gran artículo, felicidades. Estoy empezando con esto del Wordpress
y sus lenguajes.
En mi página actual, tengo un menú que, si pulsas en sus opciones, el sistema va
a leer un fichero CSV y muestra lo que está dentro en formato tabla con un
formato específico donde cada línea tiene un enlace que si es pulsado te abre
una pantalla con un informe: http://www.maxglo.com/AxAR.aspx. Quiero pasar
esto a Wordpress y quería preguntarte en qué lugar introduzco el software.
Pensaba que era en la etiqueta TEXTO al lado del VISUAL que está en cada
página del ménú, pero me parece que estoy equivocado. También quería
preguntarte si puedes echarme una mano en ello y cuánto me podría salir.
Gracias.

Responder

Max dice
20 noviembre, 2015 en 2:30 PM

Siguiendo con el post anterior, ¿tengo que activar PHP en mi servidor para que
entienda los códigos PHP o algo parecido?. Gracias.

Responder

Pedro Mendez dice


21 noviembre, 2015 en 1:16 PM
https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 25/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Hola Max. Te responde por correo en breve. Saludos!

Responder

Max dice
23 noviembre, 2015 en 8:13 PM

Quedo a la espera…
gracias

Responder

Pedro Mendez dice


23 noviembre, 2015 en 8:40 PM

Hola Max. Te respondo por correo. Saludos!

Responder

glod dice
28 enero, 2016 en 7:42 PM

Buenas!!
si ya tengo creado parte de la pagina web por Sublime text, puedo trasladarlo a
wordpress?

Responder

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 26/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Pedro Mendez dice


28 enero, 2016 en 11:40 PM

Con los conocimientos adecuados claro que se puede

Responder

Nathaly Martínez dice


2 septiembre, 2016 en 8:25 AM

Pedro, este es un gran aporte! Muchos blogs, artículos y tutoriales condensados


aquí.
Como bien dicen, aprender Wordpress es un asunto de prueba y error, y yo he
pasado los últimos meses en ello, aprendiendo, entendiendo y aún no domino el
tema; pero con esta excelente síntesis, en un sólo lugar puedo tener varios datos
necesarios para la ‘divertida’ (y hasta ahora para mí, compleja) tarea de
desarrollar de una forma más óptima, mi futura web en wp. (¡Cómo no encontré
este post desde hace meses!)
Gracias y saludos!

Responder

Pedro Mendez dice


5 septiembre, 2016 en 11:41 AM

Gracias Nathaly por tu pedazo de comentario 😉

Responder

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 27/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

CoudLain dice
9 noviembre, 2016 en 10:05 PM

espectacular articulo si señor, muchas gracias

Responder

Peter May dice


6 febrero, 2017 en 3:05 AM

Felicitacione por el contenido. Tengo dos semanas en wordpress y andaba


buscando el principio del hilo. Por fin lo encontré!!!

Saludos!

Responder

Pedro Mendez dice


6 febrero, 2017 en 11:44 AM

Gracias Peter por comentar. Saludos!!

Responder

Ande dice
24 agosto, 2017 en 3:12 AM

Gracias por un artículo tan bien explicado! Wordpress va abriendo un gran


mercado para los programadores que se especializan en este CMS aunque por

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 28/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

otro lado también preocupa que se convierta en un monopolio?

Saludos.

Responder

Pedro Mendez dice


28 agosto, 2017 en 11:14 PM

Gracias a ti Ande por comentar. Si se convierte en un monopolio es


porque los demás no están a la altura. Que se pongan las pilas y estudien
porque WordPress gana terreno cada día. Saludos!

Responder

Sergio dice
8 diciembre, 2017 en 12:57 PM

Gran post. Muy completo y justo lo que estaba buscando. Gracias y


enhorabuena.

Responder

Pedro Mendez dice


11 diciembre, 2017 en 1:14 PM

Gracias a ti Sergio por comentar. Saludos!

Responder

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 29/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Deja un comentario
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están
marcados con *

Comentario

Nombre *

Correo electrónico *

Web

Al usar este formulario accedes al almacenamiento y gestión de tus datos por parte de
esta web. Ver más en la Política de Privacidad. *

Publicar comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus
comentarios.

Buscar en el blog...

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 30/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

Descarga gratis la guía

Nombre

Email que usas habitualmente

¡Quiero la guía!

Más un correo a la semana con algún


truco y consejo. ¿Te apuntas?

También con regalos y ofertas

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 31/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

ARCHIVOS

Archivos

Elegir mes

CATEGORÍAS

Blogging (5)

Comercio Eléctronico (33)


Diseño (35)
Email Marketing (3)
Genesis (3)
Google (14)
herramientas (23)
hosting (8)
Marketing en Internet (12)
Prestashop (4)
Programación (4)
Proyectos (8)

Redes Sociales (10)


SEO (24)
Sin categoría (26)
Trabajo (5)
Wordpress (392)

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 32/33
19/10/2018 Aprender PHP para el desarrollo de WordPress - Guía completa

© Copyright 2018 ReInSpirit.com · Todos los derechos reservados ·Aviso legal·Política de Privacidad·Dos
Hermanas (Sevilla)

https://reinspirit.com/aprender-php-para-el-desarrollo-de-wordpress/ 33/33

También podría gustarte