Wordpress: за исключением изображений, «вставленных в сообщение» из get_children

У меня есть страница со слайд-шоу вверху и изображениями, встроенными в область содержимого.

Мне нужно исключить изображения, которые были вставлены в сообщение, из слайд-шоу.

В настоящее время я исключаю «Рекомендуемое изображение», но это ограничивает меня одним изображением, которое можно вставить в сообщение.

Вот мой существующий код:

$thumbnail = get_post_thumbnail_id();
$images = get_children( 'post_type=attachment&post_mime_type=image&order=asc&orderby=menu_order&post_parent='.$post->ID .'&exclude='.$thumbnail);

Раньше я использовал поле описания метаданных изображения, чтобы исключить изображения, введя «исключить». Это не так приятно для конечного пользователя, как хотелось бы.

Любые предложения, плагины или код!

Обновление: Я обновил код, поэтому теперь я получаю любые URL-адреса изображений из post_content и сравниваю их с изображениями слайд-шоу.

    $content = $post->post_content;
    $inlineImages = array();
    preg_match( '/src="([^"]*)"/i', $content, $inlineImages ) ;
    $thumbnail = get_post_thumbnail_id($post->ID);

    $images = get_children( 'post_type=attachment&post_mime_type=image&order=asc&orderby=menu_order&post_parent='.$post->ID .'&exclude='.$thumbnail);

    if ($images) {
        echo '<div id="slideshow">';
        foreach ( $images as $attachment_id => $attachment ) {
            $image = wp_get_attachment_image_src( $attachment_id,array(900,265)); 

            if (!in_array($image[0],$inlineImages)) {
                echo '<img src="'.$image[0].'" width="'. $image[1] .'" height="'. $image[2].'">';
            }
        }
        echo '</div>';
    }

Это нормальное решение, хотя регулярное выражение можно улучшить.

Более удачным шагом было бы добавление массива изображений в поле настраиваемого поля, которое обновляется при обновлении поста / страницы или публикации.

Есть предложения, как это сделать?

6
задан addedlovely 5 January 2012 в 14:16
поделиться