Contenido

conditional_theme(), un theme cada situación

23 mar

+ 4

¿Te gustaría que el theme de tu WordPress cambiara dependiendo de el usuario que lo visita? o ¿prefieres que se vea diferente a unas horas determinada? Quizas, prefieras que el theme dependa de la IP del visitante. Si es así, este artículo te puede interesar.

Mediante la API de filtros de WordPress, podemos aplicarlos en varios pasos de la ejecución de nuestro WordPress.

Funcionamiento del filtro

Para ilustrar el funcionamiento de los filtros de WordPress, un ejemplo en código:

// Función de ejemplo que encontraríamos en el código de WordPress
function function_de_ejemplo(){
	// Variable
	$variable = "Esto es una variable";

	// Devolvemos la variable filtrada
	return apply_filters( "mi-filtro", $variable);
}

// Definimos la función que modificará la salida del filtro.
function function_mi_filtro($variable){
	// Controlamos la variable
	if ($variable != '')
		return $variable;
	else
		return "Era vacio";
}

// Añadimos la función al filtro
add_filter("mi-filtro", "function_mi_filtro");

// Ejecutamos la función
function_de_ejemplo();

Selección de theme

Entre estos pasos nos encontramos con la selección del theme y mostrarlo al usuario.

add_filter('template', 'TU_FUNCION');
add_filter('stylesheet', 'TU_FUNCION');

En este proceso tenemos dos funciones que intervienen en la selección del theme, template y stylesheet. Así que el filtro podría quedar de esta manera:

function conditional_theme( $template = '' ) {
 	/*
		AQUI DEFINIMOS NUESTRA CONDICION
		Y DEVOLVEMOS EL TEMPLATE QUE DESEEMOS.
	*/
	return $template;
}

add_filter('template', 'conditional_theme');
add_filter('stylesheet', 'conditional_theme');

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.