Gancho del mes: personaliza módulos, shortcodes y widgets

Tanto si tienes un blog como si eres propietario de un negocio o desarrollador, Jetpack incluye muchas funciones diferentes que puedes usar para crear tu sitio, escribir tus entradas y promocionarlas. Sin embargo, puede que no utilices todas estas funciones. Este mes descubriremos cómo usar filtros para personalizar la lista de funciones que añade Jetpack.
Foto: Andrewfhart / Flickr
Foto: Andrewfhart / Flickr

Controla la lista de módulos disponibles en Jetpack → Ajustes

Actualmente, Jetpack incluye 36 módulos diferentes. Entre ellos, puede que haya algunos que no utilices e incluso algunos que sabes que nunca utilizarás. Por ejemplo, puede deberse a que ya hayas desarrollado o integrado esa función en otro plugin. Jetpack incluye una interfaz de gestión para que puedas desactivar lo que no necesites. Puedes gestionar todos los módulos en Jetpack → Ajustes, en tu panel de administración. Una vez desactivado un módulo, su código no se ejecutará en el sitio. También puedes usar un filtro, jetpack_get_available_modules, para eliminar por completo algunos módulos de la interfaz de Jetpack. Los módulos no aparecerán allí y ni tú ni nadie más podrá activarlos. En el siguiente ejemplo, solo mostraremos siete módulos específicos en la página de Ajustes de Jetpack. Los demás módulos no se mostrarán.
/**
 * Let's activate 7 specific modules, and nothing more.
 */
function jeherve_only_seven_modules( $modules, $min_version, $max_version ) {
    $my_modules = array(
        'stats',
        'photon',
        'related-posts',
        'markdown',
        'sso',
        'custom-content-types',
        'custom-css',
    );
    return array_intersect_key( $modules, array_flip( $my_modules ) );
}
add_filter( 'jetpack_get_available_modules', 'jeherve_only_seven_modules', 20, 3 );
Nota: este código no desactivará los módulos. Si ya habías activado una de las funciones que ahora está oculta, permanecerá activa y no podrás desactivarla, ya que ahora está oculta en la lista de módulos disponibles.

Controla la lista de widgets disponibles en el módulo Widgets adicionales de la barra lateral de Jetpack

Puedes usar el módulo Widgets de Jetpack para añadir un Like Box de Facebook, una cronología de Twitter, un widget que muestre tus entradas más visitadas y mucho más. Estos widgets están disponibles en Apariencia → Widgets, en tu panel de administración, en cuanto actives el módulo Widgets adicionales de la barra lateral. En algunos casos, puede que no quieras ver uno de los módulos en tu panel de administración porque sabes que nunca lo utilizarás. Es entonces cuando jetpack_widgets_to_include resulta útil. Te permite editar la lista de widgets de Jetpack que estarán disponibles en Apariencia → Widgets. En el siguiente ejemplo, eliminaremos el widget Insignia de Google+ de la lista de widgets disponibles:
// Search for the Google+ Badge Widget.
function jeherve_googleplus_badge_search( $widget ) {
	return strpos( $widget, 'googleplus-badge' ) === false;
}

// Remove the Google+ Badge Widget.
function jeherve_remove_googleplus_widget( $widgets ) {
	$widgets = array_filter( $widgets, 'jeherve_googleplus_badge_search' );
	return $widgets;
}
add_filter( 'jetpack_widgets_to_include', 'jeherve_remove_googleplus_widget' );

Controla la lista de shortcodes disponibles en el módulo Incrustaciones de shortcodes de Jetpack

Jetpack incluye varios shortcodes (33 en el momento de escribir esto) que puedes usar para incrustar vídeos, formularios, reproductores de audio y muchos otros elementos en tu sitio. Si no necesitas los 33 shortcodes, puedes usar el filtro jetpack_shortcodes_to_include para eliminar algunos de ellos. En el siguiente ejemplo, eliminaremos el shortcode Slideshow de la lista de shortcodes disponibles:
// Remove the slideshow shortcode
function jeherve_remove_jp_shortcode( $shortcodes ) {
	$jetpack_shortcodes_dir = WP_CONTENT_DIR . '/plugins/jetpack/modules/shortcodes/';

	$shortcodes_to_unload = array( 'slideshow.php' );

	foreach ( $shortcodes_to_unload as $shortcode ) {
		if ( $key = array_search( $jetpack_shortcodes_dir . $shortcode, $shortcodes ) ) {
				unset( $shortcodes[$key] );
		}
	}

	return $shortcodes;
}
add_filter( 'jetpack_shortcodes_to_include', 'jeherve_remove_jp_shortcode' );
¡Eso es todo por este mes! ¿Quieres profundizar en Jetpack y descubrir otros hooks útiles para personalizar Jetpack? No te pierdas las novedades de este blog y descubre nuevos hooks cada mes!

Explora las ventajas de Jetpack

Descubre cómo Jetpack puede ayudarte a proteger, acelerar y hacer crecer tu sitio de WordPress.

Explorar planes

¿Tienes alguna pregunta?

La sección de comentarios está cerrada para este artículo, pero seguimos aquí para ayudarte. ¡Visita el foro de soporte y estaremos encantados de responder a tus preguntas!

Ver foro de soporte