Listă separată prin virgulă a tuturor ID-urilor imaginilor atașate, excluzând ID-ul imaginii principale

4 mar. 2017, 01:21:43
Vizualizări: 55
Voturi: 1

Am folosit acest cod minunat într-o singură linie pentru a afișa ID-urile tuturor imaginilor atașate unui articol, separate prin virgulă. Dar nu am reușit să exclud ID-ul imaginii principale. Cum pot extrage ID-ul imaginii principale prin utilizarea și adăugarea acestui cod frumos?

$ids = join( ',', wp_list_pluck( get_attached_media('image' ), 'ID' ) );

preluat de la Cum creez o listă separată prin virgulă cu ID-urile imaginilor atașate?

0
Toate răspunsurile la întrebare 1
0

Dacă dorim să excludem imaginea articolului recomandat (featured post image), iată varianta actualizată într-o singură linie:

$ids = join( ',', wp_filter_object_list( get_attached_media('image' ), [ 'ID' => get_post_thumbnail_id() ], 'NOT', 'ID' ) );

și aici este versiunea extinsă:

$ids = join( 
    ',',                                       // uneste array-ul prin virgulă
    wp_filter_object_list( 
        get_attached_media('image' ),          // preia imaginile atașate
        [ 'ID' => get_post_thumbnail_id() ],   // filtrează ID-ul egal cu ID-ul imaginii recomandate
        ' NOT',                                // operator de filtrare: NOT (NU)
        'ID'                                   // extrage doar ID-urile
    ) 
);
4 mar. 2017 02:39:22