Añadir campos especiales a un Theme WordPress

Lanzamos la V 0.6.1 de nuestro Theme para WordPress, por ahora seguimos siendo un fork de dos Themes.

Nuestro objetivo es darle un acercamiento minimalista a la forma como construimos nuestro sitio y para ello necesitamos añadir configuraciones propias (Por ahora tipografía y colores).

Super Minimal Tema Original

En tipo de configuraciones se pueden utilizar desde personalizar css (Nuestro caso en esta versión), hasta guardar claves de APIs.

¿Qué hacer antes de cualquier prueba, desarrollo y actualización? Tener un backup completo de tu sitio. Esto me lo llevo de tarea para una posible guía

La implementación más sencilla sería copiar el siguiente código en el archivo functions.php del Tema activo.

/**
 * Typography Settings
 * @version 0.6.1
 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
 * @package RebootProject
 */

function rbpj_colors($wp_customize)
{

	// Extra Features.
	$wp_customize->add_section('colors', array(
		'title' => __('Colors', 'integer'),
		'priority' => 400,
		'description' => __('Colors of the Website.', 'integer'),
	));

	$wp_customize->add_setting('rbpj_primary_background', array(
		'default'       	=> '#000000',
	));

	$wp_customize->add_control('rbpj_primary_background', array(
		'type' => 'text',
		'label' => __('Primary Background Color', 'integer'),
		'section' => 'colors',
		'description' => sprintf(__('Background Color of menu and footer', 'integer')),
	));
}

add_action('customize_register', 'rbpj_colors');

Este código agrega el siguiente formulario a las opciones de personalización de tu Tema.

Configuraciones de tema personalizadas WordPress

¿Cómo usar estos campos personalizados? Las posibilidades son infinitas, importar scripts, css, llaves de API Etc.

Un ejemplo sencillo en código:

<h1 style="background-color:<?php echo get_theme_mod('rbpj_primary_background'); ?>">Hello World!</h1>

Estos campos se pueden personalizar bastante, esto ya sería ponerse a estudiar la WP_Customize_Manager

Implementaciones sencillas de este tipo evitan el vicio clásico del desarrollador de WordPress novato, instalar plugins a lo loco.