- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день! Необходимо настроить вывод новостей как на сайте http://finansmir.ru/
То есть чтобы выводились миниатюры новостей, по категориям и в несколько колонок. Как это сделать?
1. В functions.php
// Получение первой картинки с поста
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
// Если изображение отсутствует, то выводим изображение по умолчанию (указать путь к изображению)
if(empty($first_img)){
$first_img = "/images/default.jpg";
}
return $first_img;
}
2. Для каждой колонки:
<? $query = new WP_Query('cat=9&posts_per_page=10&nopaging=1'); // указываем категорию из которой выводим записи, кол-в записей и убираем пагинацию.
while($query->have_posts()){ $query->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<img src="<? echo catch_that_image(); ?>" />
<?php the_excerpt(); ?>
<?php } ?>
<?php wp_reset_postdata(); // сбрасываем переменную $post ?>
<?endwhile;?>
Для других колонок меняем только имя переменной $query, т.е. для второй колонки будет уже так:
<? $queryTwo = new WP_Query('cat=9&posts_per_page=10&nopaging=1'); // указываем категорию из которой выводим записи, кол-в записей и убираем пагинацию.
while($queryTwo->have_posts()){ $queryTwo->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<img src="<? echo catch_that_image(); ?>" />
<?php the_excerpt(); ?>
<?php } ?>
<?php wp_reset_postdata(); // сбрасываем переменную $post ?>
<?endwhile;?>
Получится вывод новостей с миниатюрами и краткими анонсами.
Спасибо!🍿
10100
А нет, чисто случайно, плагина который упростит всё это?
Кнопочка "Сделать всё ништяк"
Есть плагины, которые выводят посты с миниатюрами (типа WP Featured Post with thumbnail), но проблема в том, что зачастую нереально запихнуть сразу несколько штук блоков анонсов, приходится таки делать руками.
Можно просто заплатить кому-нибудь, чтобы "сделали хорошо" :)