Cómo poner automágicamente todas las imágenes destacadas

Imágenes destacadas en ecomovilidad.net

Una de las nuevas y fantásticas funcionalidades de WordPress es la de usar imágenes destacadas para mostrar en la portada. MoviendoCubos lo usa y ecomovilidad.net también lo usa desde hace muy poco con el nuevo diseño.

Y he aquí el problema, las imágenes destacadas se seleccionan manualmente, pero en todo este tiempo en los posts de ecomovilidad.net no se había seleccionando ni una imagen destacada. ¿Ponemos a los editores a trabajar como burros para poner imágenes destacadas en todos los posts o programamos algo que lo haga en 0.1477 seg?

Basándome en esto con una ligerita vuelta de tuerca obtenemos esto:

 INSERT INTO wp_postmeta (meta_value,meta_key,post_id)
 SELECT DISTINCT(ID),'_thumbnail_id',post_parent
 FROM (SELECT * FROM wp_posts ORDER BY post_date_gmt) A
 WHERE post_type= 'attachment'
 AND post_parent !=0
 AND post_status='inherit'
 AND post_mime_type='image/jpeg'
 GROUP BY post_parent;

Que lo que hace es poner automáticamente a todos los posts la primera imagen que se haya cargado como imagen destacada (el SQL en el que me basé guarreaba un poco la BD, porque las ponía todas como destacadas)

Pero resulta que tu ya habías seleccionado en algunos post imágenes destacadas y quieres que se queden así, pues no problem my very best friend don’t worry be happy

 INSERT INTO wp_postmeta (meta_value,meta_key,post_id) 
SELECT DISTINCT(ID),'_thumbnail_id',post_parent
 FROM (SELECT * FROM wp_posts ORDER BY post_date_gmt) A
 WHERE post_type= 'attachment'
 AND post_parent !=0
 AND post_status='inherit'
 AND post_mime_type='image/jpeg'
 AND post_parent NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key='_thumbnail_id')
 GROUP BY post_parent

Que es lo mismo de antes, pero ignorando los posts que ya tengan imagen destacada.

2 respuestas

  1. a donde se meten todos estos codigos? no se nada

    1. Avatar de Fran Torres
      Fran Torres

      Si tu blog está en wordpress.com me temo que no podrás hacerlo directamente 😛

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.