В плагине для ускорения работы с изображениями, загрузками и мета полями используется All Inclusive который я выделил в отдельный плагин описание метода.
Для того, чтобы задействовать эту функцию достаточно включить опцию в настройках плагина «Применять шаблоны постов», устанавливать All Inclusive не нужно он уже включен в ads-wordpress в виде функции фильтра ads_addImgMeta. Для сравнения WP функция the_post_thumbnail для получения 1 миниатюры создает 2 SQL запроса то есть если на странице 10 записей это 10*2 = 20 sql !? Мой же метод дает всего 2 дополнительных SQL но помимо картинок добавляет все мета поля для всех записей.
Настоятельно рекомендую пользоваться моим методом это сэкономит вам и время и ресурсы сервера.
Итак как ним воспользоваться привожу примеры.
Во первых советую в теле главного цикла советую распечатать переменную $post сразу после старта главного цикла:
php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
вставляем заменив пре на pre
'; print_r($post);echo 'пре>';?>
Итак думаю всем хорошо видно, что мета поля попадают в массив $post->meta , а атачменты $post->files
Вот например, чтобы проверить и распечатать номер телефона можно сделать так
if( $post->meta['ads_phone']) echo 'Телфон: ' . $post->meta['ads_phone'];?>
Проверить и вывести миниатюру для первой картинки со ссылкой на полную картинку если она есть, если нет вывести заглушку.
if($post->files[0]->thumbnail) echo '';
else echo '';
?>
Проверить есть ли какая-нибудь картинка в объявлении и вывести ее миниатюру со ссылкой на само объявление:
files)): $img = array_shift($post->files);?>
Можно комбинировать со стандартным выводом миниатюр the_post_thumbnail
if($post->files[0]->thumbnail) echo '';
elseif($html = get_the_post_thumbnail('thumbnail') ) echo $html;
else echo '';
?>
Если загруженный файл не картинка а архив или что-то еще пользуем параметр guid или лучше attachment_url. Для примера обработаем все загруженные файлы и выведем для картинок миниатюры а для других файлов ссылки на закачку
foreach($post->files as $key=>$file){
if( preg_match('~image/~', $file->post_mime_type) )
echo '
';
else
echo 'Загрузить файл
';
}
В этом примере мы сначала с помощью регулярного выражения определяем тип файла по полю post_mime_type если он начинается с image/ значит это картинка и мы печатаем миниатюру если нет выводим ссылку используя параметр attachment_url.
Наверное здесь самым сложным будет не запутаться где массив а где свойства объекта еще раз повторю
Доступ к мета полям записи $post->meta[‘имя поля’]
К файлам
$post->files[0]->attachment_url прямая ссылка
$post->files[0]->guid первый файл параметр guid тоже самое прямая ссылка
$post->files[1]->thumbnail второй файл миниатюра
$post->files[2]->medium третий файл средняя миниатюра
$post->files[3]->full третий файл полная картинка
Начиная с версии 3.0.17 добавил создание иконок для файлов типа архивы, exe, документы и т.д.
Иконки находятся в любом из полей thumbnail | medium | full везде одинаковые.
можно немного переписать предыдущий пример добавить вывод иконок вместо текста
foreach($post->files as $key=>$file){
if( preg_match('~image/~', $file->post_mime_type) )
echo '
';
else
echo '
';
}
?>
И еще напомню есть функция ads_gallery