核心/图库获取插图说明文本

时间:2019-06-17 作者:Mike

我尝试获取古腾堡媒体库块输出,并希望对图像标题使用默认的figcaption文本功能(对于js lightbox)。如何获取此属性figcaption文本值?

add_filter( \'render_block\', function( $block_content, $block ) {
    if ( \'core/gallery\' !== $block[\'blockName\'] || ! isset( $block[\'attrs\'][\'ids\'] ) ) {
           return $block_content;
    }
        $li = \'\';

    foreach( (array) $block[\'attrs\'][\'ids\'] as $id ) {
        $li .= sprintf( \'<li><a href="%s" data-lightbox="photo" data-title="%s"><img src="%s" class="w-100"></a></li>\',
        wp_get_attachment_image_src( $id, \'\' )[0],
        \'FIGCAPTION TEXT\',
        wp_get_attachment_image_src( $id, \'thumbnail\' )[0] );

    }
    return sprintf( \'<ul id="gallery-grid">%s</ul>\', $li ); 
}, 10, 2 );

2 个回复
SO网友:Vortac

你说得对。。。figcaptions在中编码为html$block[\'innerHTML\']. 你可以这样做$tmpArray = explode(\'</li>\',$block[\'innerHTML\']); 在您的foreach 循环将HTML字符串拆分为与库项目匹配的数组,并在循环内strip_tags($tmpArray[i]); 去掉所有html标记,只获取其中的文本字符串<figcaption></figcaption>. 您只需添加一个计数器i 到您的循环中,以获得$tmpArray.

SO网友:Vortac

尝试wp_get_attachment_caption( $id ) 用于标题和get_post_meta( $id, \'_wp_attachment_image_alt\', true ) 对于alt文本

相关推荐

Looking for Gallery Plugin

我正在寻找wordpress插件的小工作。我想有一个里面有图像的文件夹,我想把这个文件夹移到某个目录下,然后自动创建图库帖子。例如,我有一个名为“Winter 2018”的文件夹,里面有10张图片,移动该文件夹时,我想用这些图片中的特色图片和从文件夹“Winter 2018”中提取的标题自动创建新帖子是否有任何插件可以从目录文件夹创建自动帖子?