Publicado el 6 de Junio del 2018
478 visualizaciones desde el 6 de Junio del 2018
1,8 MB
43 paginas
Creado hace 10a (05/09/2013)
La estructura de WordPress
Internamente WordPress se compone de los siguientes ficheros y carpetas:
wp‐config.php: fichero de configuración. Aquí está almacenado el usuario y el nombre de
la base de datos, así como otros datos de seguridad. Es importante que este fichero no
tenga lectura más que por el owner del mismo. Este fichero no se machaca con las
actualizaciones de WP.
wp‐admin y wp‐includes: carpetas que guardan los ficheros php que hacen que funcione
el blog. Ambas carpetas se machacan con las actualizaciones
wp‐content: esta carpeta guarda los datos y configuraciones propias del blog. No se toca
nada en la actualizaciones de WP. La estructura interna es la siguiente:
o uploads: todas las imágenes, vídeos y archivos que se suban a la librería de
wordpress. Normalmente se organiza por años y luego por meses. Ejemplo:
uploads/2009/12.
o plugins: todos los plugins que tenemos disponibles para el blog (aunque no estén
activos).
o
o
languages: aquí van los ficheros .mo de los idiomas en los que queremos tener WP
(tanto la parte visible como la de administración). Para indicar luego que el blog
esté en un idioma u otro, habrá que añadir una línea en wp‐config.php como la
que sigue: define (‘WPLANG’, ‘es_ES’); donde es_ES es el nombre del fichero .mo
(tienen que coincidir en nombre).
themes: todas las plantillas que tenemos disponibles para “vestir” al blog.
Nosotros nos centraremos en esta carpeta.
Como podemos ver, una instalación de WordPress es muy portable. Si nos queremos cambiar de
servidor o hosting, bastará con que nos llevemos estas carpetas y la Base de Datos exportada en
un simple .sql. No requiere de otras configuraciones más complejas.
La estructura básica de un theme
Las plantillas o themes son la capa de presentación de los blogs o páginas web que se monten. Se
puede cambiar esta capa sin que la información se vea afectada. WordPress reconoce
automáticamente los siguientes ficheros y los interpreta:
header.php: aquí se define la cabecera de la página.
footer.php: aquí se define el pie de página.
sidebar.php: aquí se definen las diferentes barras laterales.
index.php: este es el fichero que carga de inicio el site. Desde aquí se invoca la carga de
cabecera (get_header();), barras laterales (get_sidebar();) y footer (get_footer();) y en el
cuerpo central, se ejecuta el bucle para cargar la información de los posts.
single.php: este es el fichero que se interpreta cuando se carga un post concreto.
archive.php: igual que single.php pero para las páginas de categorías y etiquetas.
category.php: plantilla para las categorías. Cuando un usuario pincha sobre el enlace de
una categoría, WordPress prueba si existe el fichero category.php. Si no lo encuentra,
carga archive.php. Y si éste tampoco lo encuentra, se va a por el index.php. Más adelante
veremos un gráfico con la interpretación jerárquica que hace WordPress.
comments.php: plantilla de los comentarios.
searchform.php: formulario de búsqueda.
search.php: página donde se muestran los resultados de una búsqueda.
functions.php: aquí se recogerán funciones propias del theme. Por ejemplo, si queremos
registrar varias barras laterales para que aparezcan en la sección de widgets, indicar a WP
dónde están los ficheros de idiomas, quitar filtros, …
style.css: fichero con los estilos.
404.php: si creamos este fichero, cada vez que algo no se encuentre en el blog, se cargará
esta página.
Desde el apartado de administración se podrá configurar la apariencia de una forma muy visual
mediante widgets (en el apartado Apariencia –>Widgets). Aquí aparecen las barras laterales
definidas y múltiples funcionalidades que se pueden colocar: comentarios recientes, posts
recientes, buscador, una caja donde introducir nuestro propio código html, …
También desde el apartado de administración (Ajustes –> Lectura) podemos configurar que la
portada que se carga de nuestra web sea una página y no el formato blog de entradas, dándole
más carácter de página web.
Sidebars
Podríamos cargar diferentes sidebars con la misma metodología que los headers y los footers
(explicada más adelante), pero existe una manera para que generemos un espacio dentro del
apartado de los widgets.
Para que aparezcan en la sección de widgets las diferentes sidebars que queramos “alimentar”
desde el panel de administración, hay que registrarlas en el fichero functions.php de la siguiente
forma:
if ( function_exists(‘register_sidebars’) )
{
register_sidebar(array(
‘name’ => ‘Barra Lateral Derecha’,
‘before_widget’ => ‘código html que queremos que se cargue al inicio de la barra’,
‘after_widget’ => ‘código html que queremos que se cargue al final de la barra’,
‘before_title’ => ‘código html que queremos que se cargue al inicio del título de la barra’,
‘after_title’ => ‘código html que queremos que se cargue al final del título de la barra’,
));
register_sidebar(array(
‘name’ => ‘Barra Lateral Izquierda’,
‘before_widget’ => ‘código html que queremos que se cargue al inicio de la barra’,
‘after_widget’ => ‘código html que queremos que se cargue al final de la barra’,
‘before_title’ => ‘código html que queremos que se cargue al inicio del título de la barra’,
‘after_title’ => ‘código html que queremos que se cargue al final del título de la barra’,
));
}
Para usarlas posteriormente, la llamada será de la siguiente forma:
<?phpif ( !function_exists(‘dynamic_sidebar’) || !dynamic_sidebar(‘Barra Lateral Izquierda’) ) :
echo “El usuario no ha puesto widgets en esta barra”;
endif; ?>
Cabeceras y Footers personalizados
ry(‘Cine’)) {
if (is_categor
<?php
oter(‘Cine’);
get_fo
} else {
{
get_fo
oter();
} ?>
De esta
footers
catego
a forma tan s
s o cabeceras
oría de Cine se
sencilla podem
s según estem
e cargará foot
mos cargar fic
mos en una ca
ter‐cine.php.
cheros php pe
ategoría u otr
Si no, se carg
ersonalizados
ra. En el ejem
gará footer.ph
s para mostra
plo, si estamo
hp.
ar diferentes
os en la
Sería e
exactamente l
lo mismo par
a las cabecer
ras (header‐ci
ine.php vs. he
eader.php):
ry(‘cine’)) {
if (is_categor
<?php
get_he
eader(‘cine’);
{
} else {
eader();
get_he
} ?>
Es deci
versión
ir, lo que Wor
n url del nom
rdPress busca
bre: una cade
a es el fichero
ena sin mayú
o header‐slug
sculas, sin tild
g.php (el slug
des, con guio
es el permali
nes en vez de
nk. Es decir, l
e espacios).
la
Catego
orías y etique
etas personal
izadas
Para ca
pinche
slug.ph
XX.php
podría
catego
argar diferent
e, podemos cr
hp otag‐slug.p
p (donde XX e
mos ponerle
oría o la etiqu
tes presentac
rear un php ig
php o bien co
es el id que tie
una cabecera
eta en la que
ciones depend
gual que lo ha
on el siguiente
ene internam
a, un footer y
estemos.
diendo de la
acíamos con l
e formato de
ente esa cate
y un sidebar p
categoría o la
las cabeceras
nombre cate
egoría o etiqu
personalizado
a etiqueta sob
s, es decir cate
egory‐XX.php
ueta). De esta
os dependiend
bre la que se
egory‐
o tag‐
a forma,
do de la
Aquí ve
emos el orde
n en el que W
WordPress bu
sca los ficher
ros y los carga
a:
Para cu
WordP
individ
utilizad
ualquiera de l
Pressusaráind
ual, WordPre
do para prese
las vistas que
dex.php de ma
essprimero bu
entar el artícu
e no tenga un
anera predete
uscará un arc
ulo. Si ese arc
archivo de p
erminada. Si
hivo llamado
hivo no existe
lantilla separ
un visitante s
o single.php. S
e, WordPress
ado,
solicita un art
Si ese archivo
s utilizará inde
tículo
existe, será
ex.php.
Templates
Podemos crear plantillas con comportamientos propios a los que luego asignar a cada página.
Desde el editor de páginas estáticas hay una opción para aplicar plantillas. Para que un fichero php
sea interpretado por WordPress como una template, hay que incluir al inicio del mismo el
siguiente código:
/*
Template Name: Nombre‐plantilla
*/
The Loop
El bucle es el proceso más importante de WordPress, aquel que nos devuelve y recorre todos los
posts que corresponden al fichero desde el que se invoca:
Si se le llama desde index.php, nos devuelve los últimos posts que se hayan escrito (tantos
como tengamos definidos que deberían formar parte de la portada en el apartado de
administración).
Si se le llama desde archive.php, nos devuelve los posts de una etiqueta determinada o de
una categoría concreta (dependerá de quién haga la llamada a ese fichero).
Por tanto, es en este bucle donde procesaremos la colección de posts.
<?php
get_header();
if (have_posts()) :
while (have_posts()) : the_post();
the_content();
endwhile;
endif;
get_sidebar();
get_footer();
?>
wp_query‐>current_post: nos devuelve el número del post en el que estamos dentro del
loop. Un ejemplo de uso en el que mostramos el contenido para los tres primeros posts y
sólo el título para el resto:
<?php if (have_posts()) :
while (have_posts()) : the_post();
if ($wp_query‐>current_post< 3) {
the_content();
}
else {
the_title();
}
endwhile;
endif; ?>
Sin embargo, nosotros también podemos controlar qué posts nos devolverá ese loop mediante la
función query_posts. Esa función regenera la consulta y filtra los posts en base a los parámetros
que le pongamos:
cat=ID: filtra por esa categoría. Si al id se le pone un guión por delante, muestra los posts
de todas las categorías menos de esa.
tag=slug: filtra por etiqueta. En esta ocasión se le pasa el slug. Si queremos usar el ID de la
etiqueta, pondremos el parámetro tag_id.
author=ID: filtra por usuario, usando el ID del mismo.
order=ASC u order=DESC: indica la ordenación de los resultados, ascendente o
descendente.
year=año: filtra por año.
monthnum=mes: filtra por mes.
day=día: filtra por día.
posts_p
Comentarios de: Guía WordPress 2 (0)
No hay comentarios