Programación

Si queremos, en algún espacio de nuestros templates (en los archivos, el índice, single.php…), proponer un conjunto de etiquetas que reúnan posts no sólo marcados con ellas, sino que pertenezcan a una misma categoría, tenemos aquí el código para conseguirlo.

Abriremos functions.php y pegaremos lo siguiente: (copiar y pegar)

A partir de aquí, en nuestro template (por ejemplo, index.php), escogeremos el lugar que creamos más conveniente para nuestras etiquetas y escribiremos la llamada a la función:

   $args = array('categories' => '12,13,14');
   $tags = get_category_tags($args);

Por supuesto, deberemos poner los tags de apertura y cierre de PHP.

De este modo, vamos a reunir etiquetas que hayan sido usadas en artículos bajo las categorías con ID 12, 13 y 14. La identidad numérica de cada categoría la sabremos sobrevolándola con el cursor del ratón en nuestro panel de Administración.

Créditos: foros de WordPress.org

Para los más inquietos de nosotros, los que gustamos de subir por FTP un montón de imágenes a nuestro site con nombres de archivo fáciles y luego utilizarlas rápidamente cuando escribimos un artículo (sin las complicaciones del Media Uploader), tenemos a nuestra disposición un muy buen truco para acelerar esa inclusión.

Leer más »

Etiquetas: ,

Muchas veces nos interesa disponer de una pequeña cantidad de código que, añadida a nuestros templates, haga innecesario depender de un plugin. Con ello, podremos maniobrar más fácilmente con el tema con el que estemos tratando.

Hoy veremos una manera rápida para mostrar nuestros comentarios recientes sin plugins ni widgets. Este código podremos pegarlo primero en functions.php y luego, con una nueva función lista para nosotros, directamente en nuestros templates (por ejemplo, al final de todo de sidebar.php o incluso en alguno de los apartados que conformen nuestro footer.php).

El código es el siguiente (copiar y pegar en functions.php)

Sólo nos queda invocar los últimos comentarios con el nuevo tag que se nos habrá creado : <?php recent_comments(); ?>

Si queremos cinco comentarios en vez de 10 (que es la cantidad por defecto), podemos especificarlo así :

<?php recent_comments(‘5′); ?>

Esperamos que os resulte de interés.

Etiquetas:

Sin necesidad de utilizar ningún plugin, tenemos a nuestra disposición un buen método para listar, según el número de comentarios, nuestros posts más populares (o los más comentados, según queramos enfocarlo con el título que demos a la lista).

No tendremos más que dirigirnos a la barra lateral (sidebar.php; o pie de página, footer.php) de nuestro tema de WordPress y editarla (recomendamos como siempre a Notepad++ para escribir código) con el siguiente snippet:

Copiar y pegar en nuestro template.

Con este código estamos realizando un sondeo general a nuestra base de datos tomando los 7 posts con más comentarios, preparando sus títulos, URLs y número exacto de comentarios que tengan, y disponiéndolo todo en una lista que deberemos por supuesto “decorar” con CSS a nuestro gusto.

Con este método, quedamos como reyes porque no necesitamos largos cálculos para entender cuál de nuestros posts es más visualizado y reservamos al lector un poco de discusión con todos los comentarios que allí se mostrarán al acabar la lectura principal.

Hoy vamos a ver una manera fácil de conseguir nuestros comentarios mostrados por categoría; por ejemplo, en nuestro índice. De esta manera, podremos crear varias columnas y añadir allí los comentarios recientes que a cada sección del site correspondan.

Tendremos que pegar el siguiente código en el espacio que consideremos adecuado en nuestro template (por ejemplo, tratándose del index.php, justo después de wp_header): copiar y pegar.

En la línea 15, deberemos cambiar los números allí presentes (10 y 20) por las ID numéricas de las categorías de las que deseemos mostrar los comentarios. Dichas ID las conoceremos sobrevolando con el puntero del ratón nuestras propias categorías en la Administración de WordPress.

Los créditos van, una vez más, al foro de WordPress.org, donde podréis encontrar otra versión del truco, que concierne en este caso a sub-categorías.

Esperamos que os atreváis con el código y nos planteéis cualquier duda en los comentarios.

Para los sites más técnicos o académicos (o simplemente muy activos), donde las actualizaciones de los artículos pueden ser importantes para el lector, puede resultar útil reservar un espacio en la barra lateral de nuestro diseño para una lista de los últimos artículos modificados.

Pensemos por ejemplo en un site amateur de periodismo, o un site de programación, o en una red donde se aceptan artículos universitarios y en todas las correcciones que allí pueden suceder tras una primera publicación. Podemos incluso pensar en una comunidad online para viajeros, donde todos quieren añadir detalles extra a sus relatos de viaje, y ganar algo más de presencia general en el blog multi-usuario.

Pues bien, elijamos estratégicamente el lugar donde queremos que aparezca la lista de últimos artículos modificados. Normalmente será la barra lateral, que en nuestro tema de WordPress tiene el nombre de sidebar.php. Añadiremos lo siguiente: copiar y pegar.

Fijaos en que hemos puesto 5 elementos para ser listados, pero podemos, por supuesto, cambiar dicha cifra. Será entonces el momento de formatear con CSS ese espacio, y hacerlo acorde con el resto del diseño del blog.

Etiquetas:

Con tal de que nuestros artículos sean publicitados si gustan a la gente, siempre puede ser interesante disponer de un botón que permita enviarlos por mail a alguien a quien el lector crea que les pueden interesar.

Para ello, abriremos functions.php, y pondremos el siguiente código al final de todo:

<?php
function direct_email($text="Enviar un mail a un amigo"){
global $post;
$title = htmlspecialchars($post->post_title);
$subject = 'En '.htmlspecialchars(get_bloginfo('name')).' : '.$title;
$body = 'Te recomiendo : '.$title.'. en esta página : '.get_permalink($post->ID);
$link = '<a rel="nofollow" href="mailto:?subject='.rawurlencode($subject).'&amp;body='.rawurlencode($body).'" title="'.$text.' : '.$title.'">'.$text.'</a>';
return $link;
}
?>

Sólo nos faltará poner allí donde creamos conveniente en nuestro template (dentro del loop) el siguiente nuevo template tag que hemos creado:

Compartir <?php echo direct_email('par mail') ?> con un amigo

Esperamos que lo pongáis en práctica y vuestros comentarios al respecto.

Etiquetas:

Hoy veremos cómo podríamos realizar un loop algo más especial de lo normal. Mostraremos a tal efecto un índice que muestre los 10 últimos artículos con las siguientes características :

  • Que estén en una lista (a estilizar con CSS).
  • Que cada elemento de la lista empiece con el conjunto de etiquetas que se han añadido al artículo, enlazadas a su archivo de etiqueta.
  • Que prosiga con el título del artículo, enlazado a su página individual (permalink).
  • Que, a todo ello, se le añada el último comentario realizado en ese artículo, linkado, como párrafo, a la página de artículo final con todos los comentarios desplegados.

Recordemos que nos hará falta un tema que soporte comentarios y tenga el template adecuado (comments.php):

<ul>

<?php $my_query = new WP_Query('showposts=10'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

<li>

<?php the_tags(''); ?> : <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

<br>

<?php $comment_array = array_reverse(get_approved_comments($post->ID)); $count = 1; if ($comment_array) { foreach($comment_array as $comment) { if ($count++ <= 1) { ?>

&mdash; Latest comment by <?php comment_author(); ?> on <?php comment_date(); ?>, <?php comment_time(); ?> :

<br>

<a href="<?php comment_link(); ?>">
<?php comment_excerpt(); ?>
</a>

<?php } } } ?>

</li>

<?php endwhile; ?>

</ul>

Aunque parezca complicado, uno acaba por necesitar loops de este tipo. ¿Qué os parece? Postead vuestras dudas en los comentarios.

Etiquetas:

Vamos a ver hoy cómo contar los distintos tipos de contenidos en un site “propulsado” por WordPress, por si queremos dar en algún momento esta información a nuestros visitantes: cuántos artículos han sido escritos, cuántos comentarios hay en total, etc.:

<?php
//ARTÍCULOS
$num_posts = wp_count_posts( 'post' );
$num_posts = $num_posts->publish; //publish, draft
$num_posts = sprintf( __ngettext( '%s Post', '%s Posts', $num_posts ), number_format_i18n( $num_posts ) );

//PÁGINAS
$num_pages = wp_count_posts( 'page' );
$num_pages = $num_pages->publish; //publish
$num_pages = sprintf( __ngettext( '%s Page', '%s Pages', $num_pages ), number_format_i18n( $num_pages ) );

//CATEGORÍAS
$num_cats = wp_count_terms('category');
$num_tags = wp_count_terms('post_tag');

//COMENTARIOS
$num_comm = get_comment_count();
$num_comm = $num_comm['approved']; //approved, awaiting_moderation, spam, total_comments
$num_comm = sprintf( __ngettext( '%s Categorie', '%s Categories', $num_comm ), number_format_i18n( $num_comm ) );
$num_comm2 = wp_count_comments( );
$num_comm2 = $num_comm2->approved; //approved, moderated, spam, total_comments

echo '<ul>';
echo '<li>Artículos: ' . $num_posts . '</li>';
echo '<li>Páginas: ' . $num_pages . '</li>';
echo '<li>Categorías: ' . $num_cats . '</li>';
echo '<li>Etiquetas: ' . $num_tags . '</li>';
echo '<li>Comentarios a moderar: ' . $num_comm . '</li>';
echo '<li>Comentarios publicados: ' . $num_comm2 . '</li>';
echo '</ul>';
?>

En este caso la lista desplegaría el total de artículos, páginas, categorías, comentarios a moderar y comentarios publicados.

Comentadas (con barras al principio, entre líneas) tenéis varias opciones a explotar para cada tipo de recuento: que el artículo esté publicado, o que sea un borrador, etc.

//publish, draft

Emplazad una palabra o la otra en función de lo que queréis mostrar.

Por supuesto, y por otro lado, vosotros podéis seleccionar sólo una de las operaciones y recortar los elementos que la lista convocaría para ser mostrados.

Esperamos que este pequeño truco sea de vuestra utilidad.

Etiquetas:

Estuvimos recientemente estudiando un script para implementar un botón que nos permitiera fácilmente insertar la funcionalidad de Re-Tweet en Twitter a nuestros posts. Hoy veremos una forma más integrada en WordPress de conseguir lo mismo, y también mucho más fácil.

Leer más »

Etiquetas:
Página 1 de 101234567...Última »