thumbnail tamaño regenerate redimensionar para miniaturas imagenes imagen destacada available wordpress

wordpress - regenerate - tamaño de imagenes para woocommerce



¿Dónde se almacena el enlace de la imagen destacada de la publicación en la base de datos de WordPress? (4)

¿Dónde se almacena el enlace de la imagen destacada en la base de datos de WordPress? Busqué en la tabla wp_postmeta pero no puedo encontrar el post_id exacto y los links .

¿Es esto correcto? ¿Alguien podría explicarme cómo funciona?


Incluso si la respuesta de rnevius parecía correcta, el resultado devolvió algunas imágenes con este tipo de URL: http://www.example.com/?attachment_id=48 que no funcionaba en mi caso.

Probado en Wordpress 4.9.3:

Otra solución es usar _wp_attached_file en _wp_attached_file lugar:

wp_postmeta

Busque el valor _thumbnail_id en meta_key

meta_id | post_id | meta_key | meta_value 200 | 4 | _thumbnail_id | 48

wp_postmeta

Nuevamente en wp_postmeta , busque el valor _wp_attached_file en meta_key donde post_id coincide con el meta_value buscar en la consulta anterior

meta_id | post_id | meta_key | meta_value 1020 | 48 | _wp_attached_file | 2018/09/picture.jpg

Consulta :

SELECT wp.ID, wpm2.meta_value FROM wp_posts wp INNER JOIN wp_postmeta wpm ON (wp.ID = wpm.post_id AND wpm.meta_key = ''_thumbnail_id'') INNER JOIN wp_postmeta wpm2 ON (wpm.meta_value = wpm2.post_id AND wpm2.meta_key = ''_wp_attached_file'')


La ID de la imagen presentada se almacena en wp_postmeta con una meta_key llamada _thumbnail_id . Ejemplo:

╔═════════╦═════════╦═══════════════╦═══════════╗ ║ meta_id ║ post_id ║ meta_key ║ meta_value║ ╠═════════╬═════════╬═══════════════╬═══════════╣ ║ 200 ║ 4 ║ _thumbnail_id ║ 48 ║ ╚═════════╩═════════╩═══════════════╩═══════════╝

El enlace de la miniatura real está contenido en wp_posts con un post_type de attachment . Ejemplo:

╔════╦════════════╦═════════════════════════════════════════════════════╗ ║ ID ║ post_type ║ guid ║ ╠════╬════════════╬═════════════════════════════════════════════════════╣ ║ 48 ║ attachment ║ http://example.com/wp-content/uploads/yourimage.png ║ ╚════╩════════════╩═════════════════════════════════════════════════════╝


Tenía curiosidad, así que aquí va ...

  • La tabla wp_postmeta contendrá una entrada para la publicación con meta_key de _thumbnail_id
  • el meta_value es un post_id secundario para la imagen destacada
  • usando ese post_id , puede obtener más información de wp_posts y wp_postmeta

Para ponerlo todo junto, así es cómo obtener la fila wp_posts secundaria para la imagen destacada de la publicación XXX ...

SELECT childpost.* FROM wp_posts childpost INNER JOIN wp_postmeta parentmeta ON (childpost.ID=parentmeta.meta_value) WHERE parentmeta.meta_key=''_thumbnail_id'' AND parentmeta.post_id=XXX;

Y aquí están los metadatos para esa misma imagen.

SELECT childmeta.* FROM wp_postmeta childmeta INNER JOIN wp_postmeta parentmeta ON (childmeta.post_id=parentmeta.meta_value) WHERE parentmeta.meta_key=''_thumbnail_id'' AND parentmeta.post_id=XXX;

Los metadatos incluirán una _wp_attached_file relativa _wp_attached_file y un _wp_attachment_metadata contiene algunos datos serializados de PHP.


aquí mi sql con imagen de url completa

SELECT concat((select option_value from wp_options where option_name =''siteurl'' limit 1),''/wp-content/uploads/'',childmeta.meta_value) FROM wp_postmeta childmeta INNER JOIN wp_postmeta parentmeta ON (childmeta.post_id=parentmeta.meta_value) WHERE parentmeta.meta_key=''_thumbnail_id'' and childmeta.meta_key = ''_wp_attached_file'' AND parentmeta.post_id = POST_ID ; select option_name from wp_options where option_name =''siteurl''

el resultado será así

http://yourdomain/blog-wp/wp-content/uploads/2015/04/IMG_06062014_155904.png