Tecnología y Coaching para Emprendedores

Excelentes Snippets de WordPress Listos para Usar

snippets

Una de las razones por las que WordPress tiene tanta aceptación es por su gran flexibilidad, tanto por el hecho de poder insertar miles de plugin, como por la facilidad de modificar el código y personalizarlo a nuestras necesidades. En este artículo encontrarás una serie de snippets listos para usar que te ayudarán a dar un toque personal a tus diseños. Para que no tengas dificultades en su implementación, encontrarás una descripción de como insertarlos en las plantillas de tu tema, explicado paso a paso.

Lista de artículos pendientes de publicar

Una manera de conseguir atraer la atención de los visitantes de tu blog es ofrecerles una lista de los próximos artículos que publicarás. Para ello, sólo tienes que copiar este fragmento de código en el lugar que quieras que aparezca la lista.

<div id="proximos">
<div id="proximos_header">
<p>Próximos artículos</p>
</div>
<?php query_posts(‘showposts=10&post_status=future’); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div >
<p class><b><?php the_title(); ?></b><?php edit_post_link(‘e’,’ (‘,’)'); ?><br />

<span class="datetime"><?php the_time(‘j. F Y’); ?></span></p>
</div>
<?php endwhile; else: ?><p>No hay artículos programados.</p><?php endif; ?>

</div>

Muestra artículos relacionados sin usar un plugin

Una manera muy conocida de conseguir que los usuarios se queden más tiempo en el blog es ofreciéndoles al final de cada artículo una serie de artículos relacionados con el tema. Tienes dos maneras de hacerlo, una usando un plugin y la otra es con este snippet. Para ello, abre el archivo single.php y añade este fragmento de código dentro del loop:

<?php
//para usar en el loop, muestra 5 artículos relacionados con el primer tag del artículo actual
$tags = wp_get_post_tags($post->ID);
if ($tags) {
	echo ‘Artículos Relacionados’;
	$first_tag = $tags[0]->term_id;
	$args=array(
	‘tag__in’ => array($first_tag),
	‘post__not_in’ => array($post->ID),
	‘showposts’=>5,
	‘caller_get_posts’=>1
	);
	$my_query = new WP_Query($args);
	if( $my_query->have_posts() ) {
		while ($my_query->have_posts()) : $my_query->the_post(); ?>
		<p><a rel="nofollow" href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
		endwhile;
	}
	wp_reset_query(); 
}

Muestra una lista de tus artículos más vistos sin usar un plugin

Mostrar una lista de tus artículos más populares es una buena manera de conseguir que los usuarios se queden más tiempo en tu blog. Para ello, puedes usar un plugin o simplemente copiar este snippet donde quieras que se muestren los artículos más populares, por ejemplo en sidebar.php

<h4>Artículos Más Vistos</h4>
<ul>
<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5");
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>

<li><a rel="nofollow" href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>">
<?php echo $title ?></a> {<?php echo $commentcount ?>}</li>
<?php } } ?>

</ul>

Marca con fluorescente las palabras buscadas dentro de los resultados de búsqueda

Cuando buscamos una serie de palabras en un blog, encontramos una serie de artículos relacionados, pero no se destacan las palabras que hemos buscado. Para ello, abre tu archivo search.php y busca title() y sustitúyelo por:

echo $title;

Ahora, justo antes de la línea modificada, añade este fragmento de código:

<?php
$title = get_the_title();
$keys= explode(" ",$s);
$title = preg_replace(‘/(‘.implode(‘|’, $keys) .’)/iu’,
‘<strong class="search-excerpt">\0</strong>’,
$title);
?>

Desactiva zonas de widgets sin modificar los archivos de tu tema

Para ello, añade este código en tu archivo functions.php

<?php
add_filter( ‘sidebars_widgets’, ‘disable_all_widgets’ );

function disable_all_widgets( $sidebars_widgets ) {
if ( is_home() )
$sidebars_widgets = array( false );
return $sidebars_widgets;
}
?>

mi firma

Comentarios

  • Yoli
    Responder

     Excelente Sandra!Gracias por publicarlo!

    • Sandra

      de nada, Yoli, me alegro te haya servido:)

  • edizzz
    Responder

    muy bueno me sirvieron muchos.. gracias

  • Isaac Blazquez
    Responder

    En el snippet de entradas relacionadas existe un pequeño error. Este codigo lanza las entradas relacionadas por etiqueta, pero incluye la misma entrada en la que estamos, es decir nos saldría relacionada la propia entrada que estamos leyendo.

    Asi que le he hecho unas modificaciones para que esto no ocurra.

    Os dejo el código con permiso de Sandra, pense en publicarlo en mi blog, pero he preferido dejarlo aquí para los lectores de creativasfera.


    ID);
    if ($tags) {
    echo 'Artículos Relacionados';
    $first_tag = $tags[0]->term_id;
    $args=array(
    ‘tag__in’ => array($first_tag),
    ‘post__not_in’ => array($post->ID),
    ‘showposts’=>5,
    ‘caller_get_posts’=>1
    );
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
    while ($my_query->have_posts()) : $my_query->the_post(); ?>

    <a rel="nofollow" href="" rel="bookmark" title="Permanent Link to ">

    Un saludo a todos!

  • Isaac Blazquez
    Responder

    ID);
    if ($tags) {
    echo ‘Artículos Relacionados';
    $first_tag = $tags[0]->term_id;
    $args=array(
    ‘tag__in’ => array($first_tag),
    ‘post__not_in’ => array($post->ID),
    ‘showposts’=>5,
    ‘caller_get_posts’=>1
    );
    $my_query = new WP_Query($args);
    if( $my_query->have_posts() ) {
    while ($my_query->have_posts()) : $my_query->the_post(); ?>

    <a rel="nofollow" href="” rel=”bookmark” title=”Permanent Link to “>

  • Edson
    Responder

    Hola, en el código de artículos relacionados hay un pequeño problemilla, es que cuando tienes comentarios y quieres aplicar este codigo los comentarios ya hechos del post desaparece, buscando en otros foros encontre que la solucion es introducir la siguiente sentencia wp_reset_query(); hay que introducirlo antes de cerrar el condicional if principal, espero que a otros les sea útil, para mi lo fue ahora tengo mis ultimos artículos en los post de mi blog. Gracias Sandra por los snippets :-)

    • Sandra Guerrero Sanmarti

      Hola Edson,

      gracias por tu aportación, lo acabo de corregir :-)

      un abrazo!
      Sandra


¿Y tú qué opinas? Deja un comentario...