martes, 16 de septiembre de 2014

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Cómo personalizar las entradas relacionadas de JetPack

Posted: 16 Sep 2014 05:33 AM PDT

entradas relacionadas jetpack

Vale que hay muchos plugins con los que mostrar entradas relacionadas desde hace años, incluso puedes mostrar entradas relacionadas sin plugin, pero está también claro que JetPack se está convirtiendo en un estándar y mucha gente aprovecha lo que tiene antes que buscar otras alternativas, aunque sean mejores.

El problema con el módulo de entradas relacionadas de JetPack es que, por defecto, no permite prácticamente ninguna personalización, ni de ubicación, ni de aspecto, es tal cual, te guste o no.

entradas relacionadas jetpack ajustes

Pero esto no es del todo cierto, pues hay personalizaciones que se pueden hacer al módulo de entradas relacionadas de JetPack, mediante códigos ofrecidos por los desarrolladores, que puedes incluir en un plugin específico o en el fichero functions.php del tema activo, así que vamos a verlas.

Cambiar el número de entradas relacionadas que se muestran

Por defecto, el módulo de entradas relacionadas añade 3 entradas como mucho. Puedes cambiar este número mediante el filtro jetpack_relatedposts_filter_options, se hace así:

//Cambiar número de entradas relacionadas de jetpack  function jetpackme_more_related_posts( $options ) {      $options['size'] = 6;      return $options;  }  add_filter( 'jetpack_relatedposts_filter_options', 'jetpackme_more_related_posts' );  

En este ejemplo se mostrarán 6 entradas relacionadas.

Mover las entradas relacionadas a la parte superior del contenido

Las entradas relacionadas se colocan antes de los comentarios, y esto no es siempre la mejor opción. Si quieres puedes cambiar este comportamiento por defecto y moverlas a la parte superior por encima del contenido de la entrada con el filtro jetpack_relatedposts_filter_options, así:

//Mover entradas relacionadas a la parte superior del contenido  function jetpackme_move_related_posts_to_top( $options ) {      $options['show_above_content'] = true;      return $options;  }  add_filter( 'jetpack_relatedposts_filter_options', 'jetpackme_move_related_posts_to_top' );  

Insertar entradas relacionadas en el contenido

Otra opción interesante puede ser mostrar las entradas relacionadas en cualquier parte de tu contenido.

Hacerlo es tan sencillo como incluir el shortcode adecuado donde quieras que aparezca en tu entrada, sin salir del editor de WordPress, este:
[jetpack-related-posts]

Lo mejor de todo es que si insertas este shortcode ya no salen las entradas relacionadas al fondo de la entrada, por decirlo de algún modo “mata” el comportamiento por defecto.

Poner las entradas relacionadas en cualquier lugar del tema a elegir

Si quieres controlar exactamente dónde se mostrarán las entradas relacionadas, y no te vale ponerlas en la parte superior ni quieres estar poniendo shortcodes cada vez, nada mejor que hacer una modificación permanente.

Lo primero es añadir el siguiente código a tu plugin de funciones o functions.php, con el que eliminas las entradas relacionadas del sitio por defecto:

//Quitar entradas relacionadas de jetpack  function jetpackme_remove_rp() {      $jprp = Jetpack_RelatedPosts::init();      $callback = array( $jprp, 'filter_add_target_to_dom' );      remove_filter( 'the_content', $callback, 40 );  }  add_filter( 'wp', 'jetpackme_remove_rp', 20 );

Ahora puedes mostrar las entradas relacionadas de dos maneras, o usando el shortcode del truco anterior, que no es nada práctico, o añadir el siguiente código a la parte del loop de tu tema activo (habitualmente en el loop del fichero single.php) donde quieras que se muestren las entradas relacionadas de JetPack:

<?php echo do_shortcode( '[jetpack-related-posts]' ); ?>

Cambiar el texto “Relacionado” que sale sobre las entradas relacionadas

Otro truco sencillo. En esta ocasión cambiamos el texto por defecto, “Related”, por algo como “Quizás también te interese …”

//Cambiar texto entradas relacionadas jetpack  function jetpackme_related_posts_headline( $headline ) {  $headline = sprintf(              '<h3 class="jp-relatedposts-headline"><em>%s</em></h3>',              esc_html( 'Quizás también te interese ...' )              );  return $headline;  }  add_filter( 'jetpack_relatedposts_filter_headline', 'jetpackme_related_posts_headline' );  

Reemplazar una de las entradas relacionadas por un resultado definido por ti, una entrada concreta

Lo que hay que hacer es indicar el ID de la entrada que queramos que aparezca siempre, esté relacionada o no.

En este código de ejemplo usamos el ID de entrada 2345 que, por supuesto, deberás cambiar por la que tu quieras.

//Entrada relacionada fija  function jetpackme_append_related_post( $hits, $post_id ) {      array_unshift( $hits, array( 'id' => 2345 ) );      return $hits;  }  add_filter( 'jetpack_relatedposts_filter_hits', 'jetpackme_append_related_post' );  

Excluir entradas concretas para que no aparezcan en las relacionadas

Una variación de lo anterior sería no incluir, sino excluir entradas concretas, para que no aparezcan nunca en las relacionadas.

De nuevo, los números del ejemplo de código son IDs de entrada que queremos excluir:

//Excluir entradas de las relacionadas por ID  function jetpackme_exclude_related_post( $exclude_post_ids, $post_id ) {      $exclude_post_ids[] = 1144; // Excluye la entrada con ID 1144      $exclude_post_ids[] = 6502; // Excluye también la entrada con ID 6502      return $exclude_post_ids;  }  add_filter( 'jetpack_relatedposts_filter_exclude_post_ids', 'jetpackme_exclude_related_post' );  

Excluir categorías enteras para que no aparezcan sus entradas en las relacionadas

Pasa muchas veces que tienes alguna categoría genérica que, por incluir palabras clave de todo cuño, aparecen a menudo en las entradas relacionadas, y preferirías excluirlas.

Pues nada, en el siguiente ejemplo logramos excluir la categoría con el slug “cosas-mias”:

//Excluir categoria de entradas relacionadas de jetpack  function jetpackme_filter_exclude_category( $filters ) {      $filters[] = array( 'not' => array( 'term' => array( 'category.slug' => 'cosas-mias' ) ) );      return $filters;  }  add_filter( 'jetpack_relatedposts_filter_filters', 'jetpackme_filter_exclude_category' );  

Que no aparezcan entradas relacionadas en entradas concretas

Si sabes de entradas concretas donde no quieras que los lectores se distraigan con esas atractivas entradas relacionadas puedes hacer que no aparezcan simplemente usando el siguiente truco, donde ponemos los ID de las entradas donde no habrá lista de relacionadas:

//Sin entradas relacionadas en las siguientes entradas  function jetpackme_no_related_posts( $options ) {      if ( is_single( array( 17, 19, 1, 11 ) ) ) {          $options['enabled'] = false;      }      return $options;  }  add_filter( 'jetpack_relatedposts_filter_options', 'jetpackme_no_related_posts' );  

Puedes, además, utilizar gran cantidad de Tags condicionales en la línea con el array is_single.

Incluir páginas en los resultados de entradas relacionadas

Si añades lo siguiente a tu plugin de funciones también se buscarán resultados relacionados entre las páginas que tengas, no solo entradas.

//Incluir páginas en relacionadas de jetpack  function jetpackme_add_pages_to_related( $post_type, $post_id ) {      if ( is_array( $post_type ) ) {          $search_types = $post_type;      } else {          $search_types = array( $post_type );      }         // Añade páginas      $search_types[] = 'page'      return $search_types;  }  add_filter( 'jetpack_relatedposts_filter_post_type', 'jetpackme_add_pages_to_related' );  

Por supuesto, todo esto lo puedes hacer si tienes un WordPress completo y libre, de WordPress.org, no en servicios como WordPress.com

Bueno, ¿qué te parece?, son un montón de buenos trucos ¿no?

Pues ¡hala, te toca compartir los tuyos!. Si sabes alguno más nos lo cuentas en los comentarios.

No hay comentarios:

Publicar un comentario

Seguidores

Archivo del blog