Resumen

A nivel de código, WordPress nos permite limitar la vista de contenido según diferentes criterios, que nos permitiran personalizar una web de manera creativa y según nuestras necesidades, aquí veremos algunos ejemplos y una explicación de las funcionalidades.

Detalle

El código que veremos a continuación nos permite ocultar contenido de las plantillas de WordPress que vayamos a crear o en su defecto, definir en que situaciones queremos que el contenido sea desplegado, un ejemplo de esto puede ser mostrar contenido solo si el usuario esta logeado, de cualquier forma.

Para utilizar los condicionales, debemos entenderlos como un IF, que devolverá TRUE, cuando lo que coloquemos sea verdadero.

A continuación veremos algunos ejemplos:

Página principal

Para definir si estamos en la página principal existen diferentes métodos, según la configuración de WordPress que se utilice, recordar que WordPress permite tener una página de inicio estática o una página de ultimas entradas, por lo que:

is_home()

Devuelve verdadero cuando la página que consulta es la página de inicio por defecto de WordPress, es decir, la página de entradas, donde aparecen los artículos de la web, comunmente en órden cronológico, si hemos cambiado el sitio en que esta página aparece ( desde Ajustes > Lectura, por ejemplo ) esta será nuestra nueva página is_home.

is_main_page()

A diferencia de is_home, esta condicional devolverá verdadero si estamos en la página principal sea cual sea, sin importar si es una página o una entrada y sin importar si es estática o la página de entradas, pero deberá ser la página que nosotros definimos para tal fin, esto significa que si elegimos una página estática como nuestra página principal, solo ella devolverá verdadero.

Si utilizamos ambos juntos, podremos mostrar contenido en ambos casos:

if ( is_front_page() && is_home() ) {
  // Ambas alternativas
} elseif ( is_front_page() ) {
  // Página estática que escogimos únicamente.
} elseif ( is_home() ) {
  // Página de blogs únicamente.
} else {
  // Todas las demás páginas de la web.
}

Desplegar según la entrada

is_single() % is_page()

Esta sentencia indica a WordPress que muestre contenido si nos encntramos en es una entrada o una página respectivamente, sea cual sea, de cualquier categoría o tipo, más podemos definirle parametros para hacer de estas sentencias un poco más específicas:

  • is_single(‘1’) o is_page(‘1’): si agregamos un número, indicaremos que el post o página con el ID 1, debe mostrarse.
  • is_single(‘Hola mundo’): indica que, si la entrada o página tiene el título de Hola mundo, devolverá verdadero.
  • is_single(‘hola-mundo’): al igual que  el título, pero en este caso con el slug o texto de la URL.
  • is_single(array(‘1’, ‘Hola mundo’, ‘hola-mundo’)): podemos hacer uso de un array para mostrar diferentes criterior a la hora de filtrar, pero debemos tener en cuenta que no diferencia entre los 3 criterios, por lo tanto si existe una entrada llamada 1, devolverá verdadero, aunque no sea la identificada con ID 1.

Según la plantilla

is_page_template()

Si utilizamos la sentencia sin ningún parametro, devolverá verdadero si estamos utilizando una plantilla que no sea la plantilla por defecto.

Podemos definir el nombre de la plantilla como parametro:

is_page_template(‘example.php’)

Aquí solo será verdadero si la plantilla utilizada es: example.php, si la plantilla esta en un subdirectorio de la carpeta del tema, debemos colocar su ruta para ubicarla.

Según la categoría

is_category()

Funciona similar a los post o páginas, es decir podemos utilizar tanto el ID, el nombre o el slug de la categoría.

is_category(‘1’), is_category(‘Hola mundo’), is_category(‘hola-mundo’), is_category(array(‘hola-mundo’, ‘1’)).

Existen muchos más, pero de momento podemos ver estos como los más relevantes, si necesitamos una lista más detallada, podemos consultar el siguiente link:

https://codex.wordpress.org/Category:Conditional_Tags


Para mayor información contactar a servicio@rolosa.com

Categorías: Wordpress

0 comentarios

Deja una respuesta

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