使用短代码 [gallery] 显示所有 post 个图片库

Display all post image gallery using the shortcode [gallery]

我想用 "gallery" 显示 post 图库中的图像。像这样:<?php echo do_shortcode('[gallery]'); ?>

经过一番搜索,我得知我们需要使用 "preg_match" 函数来获取图片库的 ID。类似的东西:

$post_content = $post->post_content;
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids);
$array_id = explode(",", $ids[1]);

但是我不知道如何使用它...我是新手,使用它对我来说相当困难。 我应该把这段代码放在我的函数文件中吗?如果是,请问我该怎么做?

它的目的是放置这样的最终代码:<?php echo do_shortcode( '[gallery ids="$array_id"]' ); ?>

谢谢你,对不起我的英语!

我找到了解决方案,所以我与您分享。也许有人会对此感兴趣。

我修改了以下代码:

$post_content = $post->post_content;
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids);
$array_id = explode(",", $ids[1]);

进入:

<?php
global $post;

    $post_content = $post->post_content;
    preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids);
    $images_id = explode(",", $ids[1]);
echo do_shortcode('[gallery type="slideshow" ids="'. implode(',', array_slice($images_id, 0, 3)).' ,"]');
?>

我将其插入到我的自定义 format-gallery.php 中,效果非常好。请注意,我已自动限制使用 array_slice() 返回的 ID 数量。

我希望这会对某人有所帮助。