获取wordpress 文章中的画廊-图集 - PHP 1.44 KB
                    
             /*
原文URL:https://stackoverflow.com/questions/55797894/why-cant-i-get-the-gallery-block-from-my-post-type-to-show-in-my-wordpress-api/55821820#55821820
google翻译结果
下面的这些函数仅[gallery]适用于经典编辑器中使用的(旧)短代码,因此它们将不返回带有Gallery块(画廊)的任何内容(即<!-- wp:gallery ... -->...<!-- /wp:gallery -->):区域中的内容
*/
get_post_gallery()
get_post_gallery_images()
get_post_galleries()
get_post_galleries_images()
/*
而且我不知道Gallery块的输出方法。但是,您可以使用此自定义函数获取与get_post_galleries_images()返回的结果类似的内容
使用:
(将其添加到主题functions.php文件中)
*/
//2019/10/26
function get_post_block_galleries_images( $post_id ) {
    $content = get_post_field( 'post_content', $post_id );
    $srcs = [];

    $i = -1;
    foreach ( parse_blocks( $content ) as $block ) {
        if ( 'core/gallery' === $block['blockName'] ) {
            $i++;
            $srcs[ $i ] = [];

            preg_match_all( '#src=([\'"])(.+?)\1#is', $block['innerHTML'], $src, PREG_SET_ORDER );
            if ( ! empty( $src ) ) {
                foreach ( $src as $s ) {
                    $srcs[ $i ][] = $s[2];
                }
            }
        }
    }

    return $srcs;
}
//使用方法
get_post_block_galleries_images( $ID );
            
            

代码段托管 By 爱程序代码段托管