Ottenere l'URL delle immagini dei prodotti (WooCommerce)
Cosa succede quando un post (prodotto) non ha un GUID, perché ha la stessa immagine di un altro prodotto?
Per esempio:
Query1:
select guid from wp_posts where post_type='attachment' and post_parent=num
Non restituisce nulla.
Query2:
select guid from wp_posts where ID=num
Restituisce l'URL del prodotto.
In questo caso, come posso trovare l'URL dell'immagine di quel prodotto?

Innanzitutto, il GUID non è l'URL. È un "identificatore univoco globale". WordPress utilizza l'URL a questo scopo, ma accedervi non è un modo affidabile per ottenere l'URL di qualsiasi elemento (questa era una cattiva idea, ma è mantenuta così per compatibilità con le versioni precedenti).
Non è possibile interrogare direttamente l'URL dell'immagine dal database. L'URL completo non è memorizzato lì. Ma se hai l'ID di un prodotto e vuoi ottenere l'URL della sua immagine puoi fare così:
$product = wc_get_product( $product_id );
$image_id = $product->get_image_id();
$image_url = wp_get_attachment_image_url( $image_id, 'full' );

Grazie, ma se volessi trovarlo nel database, in quale tabella posso cercarlo?

Come ho detto, l'URL completo non è memorizzato nel database. Viene generato programmaticamente in base a diversi fattori, come l'URL del sito, la struttura dei permalink, gli argomenti di riscrittura del post type, la struttura della directory di upload e le impostazioni di wp-config. Devi ottenerlo usando una funzione come quella nella mia risposta.

Ho visto da qualche parte una query per recuperare le immagini dei prodotti dal database.
Forse ti potrà essere utile.
Basta impostare i parametri richiesti in base alle tue esigenze.
SELECT p.ID,am.meta_value FROM wp_posts p LEFT JOIN wp_postmeta pm ON pm.post_id = p.ID AND pm.meta_key = '_thumbnail_id' LEFT JOIN wp_postmeta am ON am.post_id = pm.meta_value AND am.meta_key = '_wp_attached_file' WHERE p.post_type = 'product' AND p.post_status = 'publish';

Per tua referenza, esegui questa query nel database:
SELECT * FROM `wp_postmeta` WHERE meta_key IN ('_wp_attached_file', '_wp_attachment_backup_sizes', '_wp_attachment_metadata', '_thumbnail_id')
Se esegui la query sopra solo con "_wp_attached_file", otterrai il percorso dalla directory di upload.
Spero sia utile...
