wordpress移除内容中的gallery相册

在开发wordpress主题时,有时候我们内容中虽然插入了gallery相册,但是显示的时候,我们并不想直接在内容中显示它们。wordpress为我们想到了这一点,并提供了一个filter hook,它就是“post_gallery”。

在functions.php文件中添加以下代码:

// 移除内容中的相册
add_filter('post_gallery', function(){
    return ' ';
});

注意返回的是一个空白字符,如果没有这个空白字符,内容中仍然会原样输出相册。

那么想在指定地方输出相册,应该怎么办呢?在想要显示的地方可使用以下参考代码:

$gallery = get_post_gallery(get_the_ID(), false);
$img_ids = [];
if(!empty($gallery['ids'])){
    // 获取到图片ID
    $img_ids = explode(',', $gallery['ids']);
}
foreach($img_ids as $a){
    // 获取到图片地址
    $src = wp_get_attachment_image_url($a);
    echo $src;
}