在index.php上提取WordPress 3.5中的图库图像

时间:2013-07-05 作者:Ziik

我正在尝试为每个图库帖子在我的首页添加一个滑块,但我在使用以下代码从图库中提取图像时遇到一些问题:

$post_content = get_the_content();
preg_match(\'/\\[gallery.*ids=.(.*).\\]/\', $post_content, $ids);
$array_id = explode(",", $ids[1]);
问题是,每个图库帖子都包含一段文字,“阅读更多”休息和休息后的图库,因此get_the_content() 跳过图像,因为它们在休息后。我如何才能让它获得全部内容,而不考虑中断?

我使用“阅读更多”是因为我想在点击阅读之前对画廊帖子进行简短描述。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

get_the_content 是一个模板标记,只能在循环中可靠地工作。这意味着您还应该能够使用$post 而是全局。

global $post; // may not be necessary unless you have scope issues
              // for example, this is inside a function
$post_content = $post->post_content;
preg_match(\'/\\[gallery.*ids=.(.*).\\]/\', $post_content, $ids);
$array_id = explode(",", $ids[1]);
然后您可以使用wp_get_attachment_image 来获取图像。

foreach ($array_ids as $id) {
  echo  wp_get_attachment_image($id);
}

结束

相关推荐

Custom gallery in wp3.5

我使用了我在3.4中为一个光滑的小自定义库找到的教程,但升级到3.5后,它就不再工作了。我仍在努力学习php,但似乎无法再次使用它,因为我要么出错,要么什么都没有。无论如何,在升级之前,用户所要做的就是点击“添加媒体”,上传他想在帖子中显示的任何图像[在本例中是产品],设置图像的顺序,第一个图像是顶部/全尺寸图像,然后在文本字段中键入他的描述,当他点击“提交”时,将以上所有内容以良好的格式显示出来,如下所示:single.php xxxxxxxxxxxxxxxxxxxxxxxxxxxxx