Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 Recursos 4
1.1 El ncleo 4
1.2 El Codex 6
2.2 El "Loop" 13
ndice (cont.) Desarrollar en WordPress
3 Hooks 16
1 Recursos
1.1 El ncleo
Casi todo lo que obtenemos al instalar Wordpress es parte del Veamos un par de ejemplos de comentarios en diferentes archivos:
ncleo (core en ingls). La instalacin incluye un par de plugins y
varios themes bsicos, adems de la informacin de configuracin /wp-login.php (informacin del archivo, al inicio)
que aportamos durante el proceso; pero todo lo dems es el
"motor" de nuestro CMS. <?php
/**
El ncleo de WordPress es la base del CMS, que nos aporta la
mayor parte de la lgica y las funcionalidades. No debemos * WordPress User Page
modificarlo, ya que podramos causar un funcionamiento
*
inesperado. Adems, cualquier modificacin podra perderse al
instalar una nueva actualizacin. * Handles authentication, registering, resetting
passwords, forgot password,
Sin embargo, conviene acceder a l para comprender su
funcionamiento y con l, la forma en la que podemos modificarlo * and other user handling.
mediante nuestro propio cdigo en los temas y plugins. Casi todo
*
el cdigo est comentado. Muchos archivos incluyen al inicio un
bloque de comentario aportando una descripcin de lo que hacen * @package WordPress
y otra informacin til. Tambin la mayora de funciones cuenta
*/
con una descripcin de lo que hacen as como de los parmetros
que esperan y que devuelven o la versin de Wordpress en la que
fueron incluidas.
Desarrollar en WordPress | TELEFNICA // 5
1.2 El Codex
El Codex4 de WordPress es la documentacin online de la
plataforma. En ella podemos encontrar artculos a modo de gua
que van desde la instalacin y el uso bsico, a la creacin de temas
y plugins.
4 https://codex.wordpress.org/
5 https://codex.wordpress.org/Glossary
Desarrollar en WordPress | TELEFNICA // 7
Condiciones "Yoda"10
Convenciones de nombres
Los nombres de las variables se escriben en letras minsculas. En las comparaciones lgicas se deben poner las variables en la
parte izquierda y las constantes, literales o funciones en el lado
Las clases comienzan las palabras en maysculas.
derecho. As, por ejemplo, en caso de que olvidemos un signo de
Las constantes estn escritas ntegramente en maysculas. igual (=) al ir a hacer una comparacin de igualdad (==), se lanzar
un error en lugar de asignarse un valor de forma errnea.
En los tres casos anteriores, las palabra se separan mediante
guiones bajos ("snake_case").
if ( true == $var ) {
En los nombres de archivo las palabras se separan con guiones
$other_var = "value";
medios.
}
Los nombres de las tablas don bastante descriptivos, pero Si la tabla wp_terms almacena todas los trminos que usamos
repasemos cada una de las tablas para ver qu contenido para clasificar nuestra informacin, esta tabla almacena esas
almacenan. Ten en cuenta que el prefijo "wp_" no tiene por qu diferentes clasificaciones (taxonomas) a la que pueden pertenecer.
coincidir en tu instalacin (de hecho, no debera), sino que tomar el Por defecto solo tiene dos registros: "category" (categora) y "post_
valor que le indicaras en la instalacin. tag" (etiqueta).
wp_posts wp_term_relationships
Como hemos comentado, a nivel interno casi todo se almacena Esta tabla relaciona los trminos con las taxonomas a las que
como un post. Por tanto, esta es la tabla que contiene la mayor pertenecen
parte de la informacin de nuestra web.
wp_users
wp_comments
Contiene la lista de usuarios de nuestra web.
Almacena los comentarios, relacionndolos con su autor (si estaba
logueado), el post comentado y el comentario "padre" en caso de
ser una respuesta. wp_commentmeta, wp_ postmeta, wp_termmeta, wp_usermeta
wp_links
12 https://es.wikipedia.org/wiki/Blogroll
13 https://codex.wordpress.org/Links_Manager
Desarrollar en WordPress | TELEFNICA // 13
... WP_Query
function the_post() {
La variable global $wp_query es una instancia de la clase WP_
global $wp_query; Query que est definida en el mismo archivo wp-includes/query.
php. WordPress.
$wp_query->the_post();
} Esta clase de ms de 4000 lneas de cdigo y comentarios es la que
se encarga de realizar las consultas a base de datos y almacenar el
El nombre have_posts resulta bastante descriptivo y esperamos resultado en la variable global $wp_query.
que nos diga si hay posts que mostrar. Pero al consultar la
informacin de sta y de la funcin the_post, vemos que ambas Cuando accedemos a una direccin de WordPress, ya sea para
se encuentran definidas en el mismo archivo (wp-includes/query. consultar una pgina esttica, leer una entrada especfica, o
php) y que estn llamando a mtodos una variable global llamada consultar el archivo de entradas para una determinada categora,
$wp_query. WordPress realiza automticamente la consulta necesaria a la base
de datos.
La referencia de estas funciones nos indica donde podemos
encontrar eso mtodos.15 16 Si, por ejemplo, queremos ver todas las entradas categorizadas
como "tecnologa", el sistema lo detectar gracias a la url y
rescatar los ltimos artculos17 de esa categora. La propia
consulta, sus resultados e informacin extra se guardan en la
variable $wp_query, que queda preparada para ser usada en el
"Loop".
Si ests trabajando con una instalacin local de Wordpress puedes // Posts con la etiqueta "codigo" de 5 en 5
probar a imprimir el contenido de $wp_query. Tambin puedes
$query = new WP_Query( array( 'tag' => 'codigo' ),
probar a mostrar el valor de $post dentro del bucle (Loop) y como
'posts_per_page' => 5 );
este cambia con cada iteracin19.
3 Hooks
La forma en la que una pieza de cdigo interacta con otra en WordPress son los hooks. Los usan los plugins para
interactuar con el ncleo de la plataforma o con otros plugins, pero tambin se usan dentro del propio ncleo para
relacionar unas partes con otras. Son eventos disparados por acciones y filtros, que nos permiten asociar nuestras
propias funciones.
Como parmetros adicionales podemos indicar la prioridad (para add_action( 'save_post', 'myplugin_save_post', 10,
indicar el orden de ejecucin en caso de que haya varios funciones
3 );
asociadas al filtro), y el nmero de argumentos que aceptar la
funcin. function wpdocs_my_save_post( $post_ID, $post,
$update ) {
add_action( string $tag, callable $function_to_add,
// Enviar email
int $priority = 10, int $accepted_args = 1 )
}
El listado completo de acciones disponibles en el ncleo est
24 https://codex.wordpress.org/Plugin_API/Action_Reference
23 https://developer.wordpress.org/reference/functions/add_action/ 25 https://developer.wordpress.org/reference/hooks/save_post/
Desarrollar en WordPress | TELEFNICA // 17
28 https://developer.wordpress.org/reference/hooks/body_class/
29 La funcin date de PHP devuelve la fecha/hora actual formateada
segn el argumento que pasemos. En este caso, dado que la "w"
referencia al da de la semana en formato decimal, obtendremos un
26 https://developer.wordpress.org/reference/functions/add_filter/ nmero entre el 0 (domingo) y el 6 (sbado). Ms informacin:
27 https://codex.wordpress.org/Plugin_API/Filter_Reference http://php.net/manual/es/function.date.php
Desarrollar en WordPress | TELEFNICA // 18
30 https://codex.wordpress.org/Must_Use_Plugins