Cuando se tiene un blog con muchas entradas, quizás miles, nuestra base de datos obtiene un gran tamaño por culpa de muchos datos inservibles, alguno de esos datos son los tags que se van creando en algunos post pero que no son utilizados. Recordemos pues que al eliminar un post no se eliminan los tags que se crearon para este.
En fin, cuando son muchos los tags que no son usados ir al panel y borrar uno por uno es una tarea muy tediosa. Por suerte en los foros de wordpress alguién posteó la solución para eliminar todos los tags inservibles usando una consulta sql y así eliminarlo todo con un sólo clic desde el phpMyAdmin o donde puedan realizar la consulta.
Recuerda sacar siempre una copia de seeguridad antes de realizar estos cambios.
Eliminar con una consulta sql todos los tags sin usar de wordpress:
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE COUNT = 0);
Eliminar todos los tags restantes que pueden haberse quedado en la tabla wp_term_relationships
DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
Yo ya lo usé y pude quitar mi DB unos mil tags inservibles.
Cuando nos vamos a logear en wordpress visitamos el wp-admin (por ejemplo en este sitio tengo que ir a braulioaquino.net/wp-admin) y ahí vemos el logo de WordPress, pero si estamos creando un sitio con mayor estilo y queremos agregar nuestro logo ahí usamos unas cortas líneas en lugar de seguir llenándonos de plugins.
¿Cómo hacerlo? Pues en el archivo function.php agrega lo siguiente
function logo_wpadmin() {
echo '<style type="text/css">
h1 a { background-image:url('.get_bloginfo('template_directory').'/img/logo.jpg); }
</style>';
}
add_action('login_head', 'logo_wpadmin');
Listo, con eso ya tienes tu logo en la página de acceso de wordpress, claro está que debemos cambiar el img/logo.jpg por el logo que quieras y al ser un css puedes también modificarle tamaños, bordes o lo que quieras.
Esto es útil sobretodo cuando tienes un sitio con un pagina de login logout en la portada y para recuperar la contraseña tienes que acceder a wp-login.php?action=lostpassword quitándole la armonía al sitio al ver otro logo.
Porque hay cosas que simplemente puedes crear con algunos archivos .php sin usar wordpress u otras cosas raras.
Para hacer que en nuestro sitio no se vea .php o .html al final de sus direcciones, y sin tener que crear carpetas para cada archivo, lo mas sencillo es editar nuestro .htaccess con lo siguiente:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]
El archivo .htaccess se encuentra en la raiz de tu directorio, si no lo encuentras puedes crearlo. Con esto tendrás urls mas amigables, así puedes usar http://braulioaquino.com/contacto en lugar de http://braulioaquino.com/contacto.php
Si queremos eliminar un post de WordPress lo normal es que entremos al panel de administrador, veamos la lista de post y demos clic en Enviar a papelera, hasta ahí todo bien, pero si tienes un blog con demasiados posts y quieres eliminar algunos por su contenido no vas a entrar a cada uno, darle a editar y enviar a papelera. Es una tarea larga.
¿La solución? Un enlace de “Enviar a papelera” que sea visible sólo para los administradores en cada post.
Primero, colocar la siguiente función en nuestro function.php
<?php function wp_delete_post_link($link = 'Eliminar post', $before = '', $after = '') {
global $post;
if ( $post->post_type == 'page' ) {
if ( !current_user_can( 'delete_pages', $post->ID ) )
return;
} else {
if ( !current_user_can( 'delete_posts', $post->ID ) )
return;
}
$advertencia = "¿Estás seguro de querer eliminar ".get_the_title($post->ID)." ?";
$delLink = wp_nonce_url( get_bloginfo('wpurl') . "/wp-admin/post.php?action=delete&post=" . $post->ID, 'delete-post_' . $post->ID);
$link = "<a target='_blank' onclick='return confirm(\"" . $advertencia ."\")' href='" . $delLink . "' title='Delete' />".$link."";
echo $before . $link . $after;
} ?>
Segundo, colocar el llamado a la función donde quieres que aparezca el enlace: single, index, loop, donde quieras.
<?php wp_delete_post_link('Eliminar post', '<p>', '</p>'); ?>
Muy útil para aquellos blogs que se alimentan de Feeds RSS o los que tienen el registro de autores libre.
Si tu sitio es pequeño, no has hecho muchas modificaciones a WordPress, usas pocos plugins y la suerte te sonríe, adelante, actualiza.
¿A qué me refiero con esto de no actualizar WordPress? Pues toda nueva versión de “algo” puede presentar fallas (mas aún con una actualización tan grande como WordPress 3.0) y en sitios grandes eso es un gran problema. Ese consejo fue dado en el Wordcamp Lima y por lo visto los reportes de errores al actualizar WordPress al día siguiente ya son varios, ojo que no es culpa de este buen cms, en la mayoría de los casos la culpa lo tiene uno que otro plugin.
Antes de actualizar WordPress no te olvides de hacer siempre un backup (la base de datos es lo mas importante), sobre todo si tu sitio es grande o de algún cliente. Si usas muchos plugins dale una mirada a los mas “raros” (por así llamarlo) y busca información si alguno de estos ya ha presentado algún error al actualizar la versión. Si ya te dio miedo entonces espera unos días para ver cual es la falla mas común, si no te dio miedo igual espera, es algo saludable.
Para cerrar les dejo unas palabras del buen Fernando Tellado:
Así que eso es lo que hay, hoy estamos esperando la versión final de WordPress 3.0, una versión “mayor” que seguro que nos traerá de cabeza durante un tiempo, una versión que no recomiendo instalar en sitios activos, porque es un cambio realmente importante el que supone. Y no estaría haciendo esta recomendación si tuviéramos – al menos en este caso – un mes para probarla a fondo, que los cambios de WordPress 3.0 son muchos y profundos.
Están advertidos, esperen unos días, prueben WordPress 3.0 en local o sitios pequeños, examinen el buen funcionamiento de sus plugins y disfruten de las novedades. Luego no se quejen si se desvelan tratando de salvar información por culpa de algún plugin que falle al actualizar a WordPress 3.0

Facebook al renovar su API nos ofreció nuevos códigos para insertar un botón Like (Me gusta) en cualquier web, para hacerlo solo tenemos que colocar el siguiente código donde quieran que aparezca:
<iframe src="http://www.facebook.com/plugins/like.php?href=http%253A%252F%252Fbraulioaquino.com&layout=standard&show_faces=true&width=450&action=like&font&colorscheme=light&height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>
Pero para mayor funcionalidad nos recomiendan usar un código propio de Facebook el cual consiste en dos partes:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true,
xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
que se tiene que colocar luego de </head>
<fb:like href="<a href="http://braulioaquino.com">http://braulioaquino.com"</a>></fb:like>
que se coloca donde quieras que aparezca el botón
Todos los pasos son sencillos, pero resulta que algunas veces el código del Like Buttom no funciona en Firefox, esto se soluciona colocando el código SDK luego de <body> ya que a quienes se les presenta este error lo colocaron de la forma … </head> Código de Facebook <body> …
En WordPress la forma de colocarlo en header.php es
…
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true,
xfbml: true});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
</script>
...
y luego donde quieras (probablemente en single.php)
<fb:like href="<?php echo urlencode(get_permalink()); ?>" font="tahoma"></fb:like>