En esta ocasión traemos 10 códigos útiles para tu WordPress.
Gracias a ellos podrás añadir algunas funciones extra a tus temas/WordPressde forma totalmente sencilla.

Lista de artículos pendientes de publicar

Con esto podrás incentivar a tus visitantes para que regresen en un futuro no muy lejano viendo lo que está por llegar:

<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>

Artículos relacionados

En cada entrada puedes sugerirle a tus visitantes algo similar para que lean y así asegurar que leerán algo más:

<?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 href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
      <?php
    endwhile;
  }
}
?>

Artículos más vistos

Los artículos más vistos sugieren qué es lo que más gusta entre tus visitantes, con este código podrás decirles lo más exitoso de tu blog:

<h2>Artículos Más Vistos</h2>
<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 href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>">
<?php echo $title ?></a> {<?php echo $commentcount ?>}</li>
<?php } } ?>
 
</ul>

Mostrar contenido a usuarios registrados

Hay que insertar este trozo de código en el functions.php del tema:

add_shortcode( 'registrados', 'member_check_shortcode' );
 
function member_check_shortcode( $atts, $content = null ) {
	 if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
		return $content;
	return '';
}

E insertar el contenido que quieras mostrar sólo a los registrados entre las siguientes etiquetas:
[registrados] Aquí el contenido exclusivo [/registrados]

Deshabilitar el autoguardado de las entradas

WordPress tiene la costumbre de guardar una copia de la entrada que estás escribiendo cada cierto tiempo. Esto aparentemente es una ventaja, pero en ocasiones puede ser un inconveniente (servidor con poco almacenamiento, entradas en blanco, respaldos de entradas innecesarios…)

Para deshabilitar esta función, solo tienes que añadir esta función al fichero functions.php de tu tema:

function disableAutoSave(){
    wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );

Muestra los artículos de una determinada categoría

A veces es útil para hacer una página principal en nuestro WordPress; pega lo siguiente en donde quieras mostrarlo:

<?php
$displayposts = new WP_Query();
  //muestra archivos de la categoría aquí indicada
  $displayposts->query('cat=5');
while ($displayposts->have_posts()) : $displayposts->the_post();
?>
<?php the_content('más...'); ?>
<?php edit_post_link('edit', '', ''); ?>
<?php endwhile; ?>

Muestra una imágen aleatoria en tu cabecera

Incluye las imágenes que quieres mostrar en una carpeta y llámalas 1.jpg, 2.jpg… e incluye esto en tu header.php:

$num = rand(1,10); //Modifica el 10 si tienes otro número de imágenes
<div id="header" style="background:transparent url(carpetaImagenes/.jpg) no-repeat top left;">
</div>

Mostrar los artículos más comentados del año

A los usuarios a veces les gusta leer lo más comentado porque creen que es lo más importante del blog (aunque no necesariamente es así); con este código podrás mostrar lo más comentado del año:

<?php
$result = $wpdb->get_results("SELECT comment_count,ID,post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN '2011-01-01' AND '2011-12-31' ORDER BY comment_count DESC LIMIT 0 , 10");
 
foreach ($result as $topten) {
    $postid = $topten->ID;
    $title = $topten->post_title;
    $commentcount = $topten->comment_count;
    if ($commentcount != 0) {
    ?>
         <li></li>
    <?php }
}
?>

Diferencia los comentarios del autor de la entrada

Si un usuario comenta una entrada con alguna consulta y hay un número alto de comentarios, puede que se aburra buscando la respuesta del autor de la entrada.
Utiliza este código para que se encuentre rápidamente:

<ol id="commentlist">
<?php foreach ($comments as $comment) : ?>
    <?php
    $user_id = $comment->user_id;
    $role = ( isset( $roles[$user_id] ) ? $roles[$user_id] : '' );
    ?>
    <li class="<?php echo $role; ?>">
    <p>By <?php comment_author_link() ?> - <?php comment_date() ?></p>
    <?php comment_text() ?>
    </li>
<?php endforeach; ?>
</ol>

Editando este código CSS podrás diferenciarlos como quieras:

#commentlist li { border:1px solid #ccc; }
#commentlist li.administrator { border:1px solid #2a2828; }
#commentlist li.editor { border:1px solid #3cfdaa; }

Muestra tus últimos N tweets

Así podrás conseguir más followers o compartir cosas desde twitter dado que se verán en tu sitio web (por unos instantes)
Copia esta función en tu archivo functions.php:

	function get_tweets($usuario,$tweets) {
 		$feed = "http://search.twitter.com/search.atom?q=from:" . $usuario . "&rpp=" . $tweets;
	 	$xml = simplexml_load_file($feed);
 		$boleano = 0;
		foreach($xml->children() as $child) {
			foreach ($child as $value) {
				if($value->getName() == "content") {
					$content = $value . "";
					echo "<p class='twit".$boleano."'>".$content."</p>";
				}
			}
			if($boleano == 0){
				$boleano = 1;
			}
			else if($boleano ==1){
				$boleano = 0;
			}
		}
	}

Y ahora inclúyela en tu tema, donde quieres que aparezca indicándole el usuario y el número de tweets a mostrar:

<?php get_tweets(USUARIO,NumeroTWEETS); ?>

Si observas la función, al final edita un booleano; esto permite darles una apariencia distinta a los tweets pares de los impares:

.twit1{
background-color:#000;
color:#fff;
}
.twit2{
background-color:#FFF;
color:#000;
}

Y tú, ¿Qué agregarías?

2 comentarios en “10 códigos útiles para WordPress

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *