Cómo establecer la fecha/hora de caducidad de un post en WordPress

0 - , - 21/09/2011 08:50:57

A veces (por ejemplo, si se publica un concurso), deseas poder publicar un post y luego que no se muestre automáticamente pasada una determinada fecha. Para ello hacemos uso de la potencia de los campos personalizados.

Edita el tema y reemplaza su actual bucle de WordPress por este bucle "hackeado":

<?php
if (have_posts()) :
  while (have_posts()) : the_post(); ?>
    $expirationtime = get_post_custom_values('caducidad');
    if (is_array($expirationtime)) {
      $expirestring = implode($expirationtime);
    }

    $secondsbetween = strtotime($expirestring)-time();
    if ( $secondsbetween > 0 ) {
      // For example...
      the_title();
      the_excerpt();
    }
  endwhile;
endif;
?>

Para crear un post que expire en una determinada fecha y hora, tan sólo tendrás que crear un campo personalizado o "custom field". Especificar "caducidad" como clave y la fecha y la hora como valor (con el formato mm/dd/aaaa 00:00:00).

Ten en cuenta que este código no quita o anula la publicación de tu post, unicamente evita que se muestren en el bucle.

Visto en WP Recipes » »

CSS: limpiar elementos flotantes sin marcado adicional

0 - , , - 12/09/2011 19:11:03

Clase aplicada al contenedor de los elementos flotantes:

.clearfix:after {
        visibility: hidden;
        display: block;
        font-size: 0;
        content: " ";
        clear: both;
        height: 0;
}

.clearfix { display: inline-block; }

/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* close commented backslash hack */

WordPress: deshabilitar trackbacks hacia artículos del mismo blog

0 - , , - 08/09/2011 20:07:56

Los trackbacks son un sistema de aviso a otros bloggers de que un artículo de ellos ha sido enlazado desde nuestro blog. El problema con esto viene cuando enlazas un artículo de tu mismo blog, un trackback hacia ti mismo será mostrado en el artículo enlazado. Para evitar esto, podemos utilizar el siguiente código en el archivo functions.php:

function disable_self_ping( &$links ) {
    foreach ( $links as $l => $link ){
            if ( 0 === strpos( $link, get_option( 'home' ) ) ){
            		unset($links[$l]);
            }
	}
}
add_action( 'pre_ping', 'disable_self_ping' );

WordPress: Añadir un logo personalizado al dashboard

0 - , - 06/09/2011 19:39:16

Cuando desarrollas un tema para un cliente, puedes usar este código para personalizar su área de administración. Todo lo que tienes que hacer es pegar el siguiente código en el archivo "functions.php" de tu tema.

add_action('admin_head', 'mi_logo');

function mi_logo() {
echo '
<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/logo_personalizado.gif) !important; }
</style>';
}

jQuery: Detectar el doble click

0 - , - 18/08/2011 20:01:43

El siguiente ejemplo muestra, de un modo sencillo, la utilización del evento dblclick() de jQuery.

<html>
<head>
<title>doble click</title>
<script 

src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js" 

type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
	$('#caja').dblclick(function () {
		$(this).toggleClass('alt');
	});
});
</script>
<style type="text/css">
#caja{
	display:block;
	border: 1px solid black;
	height:100px;
	width:200px;
	margin:30px auto;       
}
#caja.alt{
	border: 4px solid #FF0000;          
}
</style>
</head>
<body>
<div id="caja">Haz doble click sobre la caja</div>
</body>
</html>

Ver ejemplo en funcionamiento » »