Я пытаюсь получить все изображений из сообщения WP, чтобы создать слайд-шоу из них. Googled вокруг и нашел этот кусок кода для извлечения и отображения изображений с поста:Как отображать все изображения из сообщения WordPress?
function getImage($num) {
global $more;
$more = 1;
$link = get_permalink();
$content = get_the_content();
$count = substr_count($content, '<img');
$start = 0;
for($i=1;$i<=$count;$i++) {
$imgBeg = strpos($content, '<img', $start);
$post = substr($content, $imgBeg);
$imgEnd = strpos($post, '>');
$postOutput = substr($post, 0, $imgEnd+1);
$postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);;
$image[$i] = $postOutput;
$start=$imgEnd+1;
}
if(stristr($image[$num],'<img')) { echo '<a href="'.$link.'">'.$image[$num]."</a>"; }
$more = 0;
}
Как вы можете себе представить, вы затем использовать GetImage («1») и т.д., чтобы получить 1-го, 2-го изображения от должности и т.д. Это не идеально для создания слайд-шоу, потому что я не знаю, сколько будет изображений.
Есть ли способ изменить приведенный выше код, чтобы получить массив изображений для создания цикла foreach, например? Извините, если моя логика немного испорчена, я не эксперт по PHP, как вы могли догадаться.
Заранее благодарим за любую помощь.
Это сделал трюк, спасибо. Как я уже сказал, я схватил этот фрагмент из какого-то блога. Если есть что-то, что можно было бы очистить, я всегда хочу узнать, можете ли вы объяснить :) – Justine
Один вопрос: что возвращает эта функция? Это массив или просто куча кода? Я хотел создать инструкцию foreach, используя эти изображения, но не похоже, что я могу. – Justine
Этот код просто выделяет все ваши изображения, он не возвращает их. Цикл for внутри этого кода уже перебирает все изображения. Если вы закомментируете строку 'if', вы можете отключить эхо-сигнал и поместить свой собственный код в цикл. Или вы можете изменить его, чтобы поместить каждый '$ postOutput' в массив и вернуть этот массив, который вы затем можете перебрать. –