Inhalt nach Gutenberg Gallery durchsuchen und 5 zufällige Bild-IDs zurückgeben

dice 1209417 1920
Bildquelle: Pixabay, Free-Photos

Die Funktion get_post_gallery(), mit der früher Gallery-Daten aus Inhalten extrahiert werden konnten, greift bei Gutenberg-Galerien nicht mehr. Aus diesem Grund musste eine Funktion die 5 Zufallsbilder aus Beitrags-Galerien holte und in einer Bildleiste darstellte, nach dem Update auf WordPress 5.0 überarbeitet werden.

function flxo_get_the_five( $post_id ) {
    $post = get_post( $post_id );
    /**
     * get raw post content 
     */
    $post_content = $post->post_content;

    /**
     * search for gallery block
     */
    preg_match( '/\<!--\ wp:gallery.*ids":.(.*)\]/i', $post_content, $ids );

    /**
     * found gallery, extract the ids and shuffle
     */
    if ( $ids ) {
        $images_id = explode( ',', $ids[1] );
        
        shuffle( $images_id );
        
        if ( count( $images_id ) > 5 ) {
            array_splice( $images_id, 5 ); 
        }
        
        return ( $images_id );
    } 
    /**
     * no gallery found
     */
    return false;
}

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable