РЭДЛАЙН
Лучшие решения для Вас и Вашего бизнеса!
На нашем сайте вы можете получить информацию о веб-разработке, обслуживании и продвижении сайта. Интернет-маркетинге. SEO (поисковой оптимизации). Контекстной и медийной рекламе в Интернете. SMM. Регистрации доменов и хостинговых услугах. И современном дизайне сайтов. Вообщем того что касается веб-разработки, а также много другой полезной информации из мира интернета, бизнеса и интернет-технологий...
Создаем доступные и современные сайты, которые работают! Обслуживаем и эффективно продвигаем интернет-проекты с 2006 года!
Главная Web-мастеру 10 вставок кода для главного цикла WordPress


10 вставок кода для главного цикла WordPress

Главный цикл является самой важной частью сайта под управлением WordPress. Именно он позволяет вам получать записи из базы данных WordPress и выводить их на экран. Обладая набором полезных и простых в использовании функций, главный цикл является очень мощным инструментом. В нем вы можете получить единственную запись, или список записей отсортированных по дате создания, заголовку или категории, или список записей, созданных определённым автором, и так далее.

В данном уроке мы рассмотрим 10 вставок кода в главный цикл WordPress, которые помогут сделать сайт еще более мощным.

 

1. Получаем запись, опубликованную в промежуток между двумя датами

Проблема

Главный цикл  и функция WordPress query_posts() WordPress позволяют легко получить список записей, опубликованных в определённую неделю или месяц. К сожалению, вытащить записи, опубликованные, например, после 17 марта и до 3 мая будет не просто. Решим данную задачу.

Решение

Просто скопируйте ниже приведённый код в вашу тему в то место, где нужно выводить список записей, опубликованных между двумя датами. Обязательно поменяйте даты в коде на те, которые нужны вам.

<?php
  function filter_where($where = '') {
        $where .= " AND post_date >= '2009-03-17' AND post_date <= '2009-05-03'";
    return $where;
  }
add_filter('posts_where', 'filter_where');
query_posts($query_string);
while (have_posts()) :
      the_post();
      the_content();
endwhile;

?>

Описание решения

Для решения задачи сначала мы создаем функцию filter_where(), которая содержит условие SQL “WHERE”. Затем перед запуском главного цикла функция filter_where() будет вызываться функцией WordPress post_where().

В результате условие “WHERE”, которое содержится в функции filter_where(), добавляется в конец запроса SQL, содержащегося в функции post_where(). Значит, главный цикл вернет только те записи, которые были опубликованы в период между двумя датами, заданными в функции filter_where().

 

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

Проблема

Большинство современных тем, а особенно "журнальные" темы, выводят как минимум два главных цикла на главной странице. Данный метод очень полезен, например, для раздела "выделенные записи". Но, если использование двух главных циклов на странице реализуется легко, то предотвратить вывод дублирующихся записей не так просто. Пока вы не знаете о данном методе.

Решение

1. Начнем с первого главного цикла. Ничего сложного: в примере мы просто получаем 8 последних записей с помощью параметра showposts. Открываем файл index.php и вставляем в него  следующий код:

<?php
query_posts('showposts=8');
$ids = array();
while (have_posts()) : the_post();
$ids[] = get_the_ID();
the_title();
the_content();
endwhile;
?>

2. Затем наступает время реализовать второй главный цикл. В нем мы получаем все записи, за исключением тех, которые уже выведены в первом цикле:

<?php
query_posts(array('post__not_in' => $ids));
while (have_posts()) : the_post();
the_title();
the_content();
endwhile;
?>

3. Сохраняем файл index.php и наслаждаемся результатом.

Описание решения

Первый цикл начинается с очень полезной функции query_posts(), которая позволяет задавать параметры, используемые в главном цикле. Параметр showposts дает вам возможность указать количество записей. Непосредственно перед циклом мы создаем массив PHP $ids, в котором хранятся все ID записей, используемых в цикле.

Как и первый цикл, второй использует функцию query_posts() с параметром post__not_in. Данный параметр позволяет вам определить список записей, которые не нужно выводить, в форме массива PHP. Мы передаем массив $ids в качестве данного параметра. Все записи, полученные в первом цикле, будут пропускаться во втором цикле.

 

3. Вставляем рекламу после первой записи

Проблема

Реклама является отличным средством монетизации вашего блога. Но для ваших рекламодателей очень важны клики ваших посетителей. Многие блогеры выводят рекламу в боковые панели, нижний или верхний колонтитул, что не всегда является лучшим местом для получения высокого рейтинга нажатий. Чтобы его повысить и сделать вашего рекламодателя счастливым, хорошей идеей будет вставить рекламный блок после первой записи.

Решение

Просто используйте следующий код вместо вашего текущего кода главного цикла. Обязательно вставьте код вашего рекламного блока в строке 6:

<?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
  <?php if ($count == 2) : ?>
          //Вставьте код вашего рекламного блока сюда
          <h2><a href="/<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_excerpt(); ?>
   <?php else : ?>
          <h2><a href="/<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
          <?php the_excerpt(); ?>
  <?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

Описание решения

Переменная целого типа используется в качестве счетчика практически с первых дней появления программирования. Перед главным циклом мы создаем переменную $count. Данная переменная увеличивается на 1 в каждом проходе цикла.

Затем, добавляем структуру if (строка 5) и проверяем $count на равенство 2. Если это так, то первая запись уже выведена, и мы можем добавить рекламный блок.

 

4. Получаем записи с определенными пользовательскими полями и определенными значениями

Проблема

Благодаря популярности пользовательских полей WordPress очень часто возникает необходимость вывести список записей с определенными пользовательскими полями и определенными значениями в них.

Решение

Все не так сложно, как кажется. Нужно использовать функцию query_posts()с параметрами meta_key и meta_value:

<?php query_posts('meta_key=review_type&meta_value=movie');  ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

Описание решения

Значение параметра  meta_key - имя нужного пользовательского поля, а значение meta_value - нужное значение.

 

5. Список запланированных записей

Проблема

Благодаря опции планирования, WordPress позволяет составить расписание публикации записей и выводить их в назначенное время. Хорошей идеей является составление списка запланированных записей, чтобы ваши посетители возвращались на ваш сайт или подписывались на фид RSS.

Решение

<?php query_posts('showposts=10&post_status=future'); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
		<h2><?php the_title(); ?></h2>
		<span class="datetime"><?php the_time('j. F Y'); ?></span></p>
<?php endwhile;
else: ?><p>Запланированных записей нет.</p>
<?php endif; ?>

Описание решения

Для решения используется функция query_posts() с параметром post_status. Параметр post_status позволяет вам получать записи в соответствии с их статусом публикации (“published,” “draft” или, как в нашем примере, “future”). Так как используется параметр showposts=10, то код вернет только 10 запланированных записей.

 

6. Выводим записи, опубликованные год назад

Проблема

Часто блоги содержат много интересной информации в старых записях. Но посетители обычно ограничиваются просмотром свежих изменений.

Решение

Если ваш сайт сравнительно "старый", то почему бы не выводить записи, которые были опубликованы год назад? Задача решается просто. Вставляем следующий код в боковую панель или в файл single.php:

<?php
$current_day = date('j');
$last_year = date('Y')-1;
query_posts('day='.$current_day.'&year='.$last_year);
if (have_posts()):
    while (have_posts()) : the_post();
       the_title();
       the_excerpt();
    endwhile;
endif;
?>

Описание решения

Сначала получаем текущую дату на строке 2 с помощью функции PHP date(). Затем получаем год с помощью вызова date('Y') и вычитаем из него 1, что дает нам прошедший год.

Остается передать переменные $current_day и $last_year в параметры day и year функции query_posts.

 

7. Используем главный цикл для создания шаблона страницы архива

Проблема

Как описывалось в предыдущей вставке кода, посетители часто не могут найти информацию, опубликованную ранее. Для облегчения поиска информации можно создать страницу, которая будет содержать все записи, когда-либо опубликованные в блоге.

Решение

<?php
/*
Template Name: Архив
*/
?>

<?php get_header(); ?>

	<h2><?php $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
if (0 < $numposts) $numposts = number_format($numposts); ?>
<h2><?php echo $numposts.' записей опубликовано с начала ведения блога'; ?>
	</h2>

	<ul id="archive-list">
		<?php
		$myposts = get_posts('numberposts=-1&');
		foreach($myposts as $post) : ?>
			<li><?php the_time('m/d/y') ?>: <a href="/<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
		<?php endforeach; ?>
	</ul>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Описание решения

Шаблон страницы создается добавлением в начало файла следующих строк:

<?php
/*
Template Name: Архив
*/
?>

В строке 8 мы создаем счетчик с помощью переменной PHP $numposts и объекта $wpdb, который получает результат запроса SQL к базе данных WordPress.

Затем переменная $numposts выводится для отображения общего количества записей.

В главном цикле  используется функция get_posts(). get_posts() простое сокращение для создания нескольких главных циклов. Мы получаем все записи из базы данных, и для каждой выводим дату, ссылку и заголовок. Просто и эффективно.

 

8. Создаем главный цикл с помощью объекта WP_Query

Проблема

Классический цикл WordPress, который используется в большинстве вставок кода в данном уроке, является достаточно удобным в применении. Но при задействовании нескольких главных циклов (например, в сложных “журнальных” темах), возрастает риск сбросов, смещений, неправильных тегов и других ошибок.

Решение

Нужно использовать объект WP_Query и создать свой собственный цикл:

<?php
$myPosts = new WP_Query();
$myPosts->query('showposts=5');

while ($myPosts->have_posts()) : $myPosts->the_post(); ?>
   the_title();
   the_content();
endwhile;

?>

Описание решения

Выше приведенный код выводит пять последних записей. Вот его детальное описание:

  • Строка 2, создаем новый объект WP_Query с именем $myPosts.
  • Строка 3, выполняем запрос с параметром showposts для получения пяти последних записей.
  • Строка 5, запуск нашего собственного главного цикла.
  • Строки 6 и 7, выводим информацию из записи (заголовок и ее содержание)
  • Строка 8, завершение нашего главного цикла.

Если вы хотите вывести больше или меньше записей, просто поменяйте значение параметра showposts в строке 3.

 

9. Выводим последние прилепленные записи

Проблема

Начиная с версии WordPress 2.7, прилепленные записи являются отличным инструментом для блогеров. Очень часто они спрашивают, как включить прилепленные записи в главный цикл.

Решение

Для вывода последних пяти прилепленных записей скопируйте следующий код в файл вашей темы. Если требуется выводить больше записей, то нужно поменять 5 на желаемое число в строке 4.

<?php
$sticky = get_option('sticky_posts');
rsort( $sticky );
$sticky = array_slice( $sticky, 0, 5);
query_posts( array( 'post__in' => $sticky, 'caller_get_posts' => 1 ) );

if (have_posts()) :
    while (have_posts()) : the_post();
        the_title();
        the_excerpt();
    endwhile;
endif;

?>

Описание решения

Сначала получаем все прилепленные записи (строка 2). Затем производим их упорядочивание, выводя вверху самые последние, с помощью функции PHP sort() (строка 3). В строке 4, получаем 5 последних прилепленных записей. Можно изменить число.

Затем используем функцию query_posts() для управления циклом WordPress. С помощью параметра post__in мы проверяем факт, что возвращаемые записи содержатся в массиве. Затем мы просто устанавливаем основной цикл и выводим нужную информацию.

 

10. Создаем цикл изображений

Проблема

В наши дни многие блогеры выводят выдержки из заметок вместе с изображениями на главную страницу. Можно пойти еще дальше и создать оригинальную галерею, в которой будут выводиться изображения для самых последних записей. Можно решить задачу с помощью пользовательских полей. Но есть и более элегантное решение.

Решение

Для создания собственного цикла изображений сначала нужна функция PHP, которая будет вытаскивать первые изображения из каждой заметки, и возвращать их URL. Скопируйте следующий код в ваш файл functions.php. Обязательно установите изображение по умолчанию в строке 10.

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;
}

После сохранения файла можно изменять главный цикл:

<?php
if (have_posts()) :
    while (have_posts()) : the_post(); ?>
        <a href="/<?php the_permalink();?>" title="<?php the_title(); ?>" class="img-loop">
        <img src="http://путь_к_папке_с_изображениями/<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" />
        </a>
    endwhile;
endif;
?>

Описание решения

Первая часть кода является функцией catch_that_image(), которая включается в файл functions.php. Данная функция разбирает код содержание записи с использованием глобальных переменных $post и $posts и регулярных выражений PHP. Если изображения не найдено (то есть, запись не имеет ни одного изображения), возвращается адрес изображения по-умолчанию. Иначе функция возвращает адрес первого изображения в заметке.

Вторая часть кода является главным циклом. В данном цикле не выводится текстовое содержание. Вместо него выводиться первое изображение заметки с помощью функции catch_that_image().

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/aX79VjjsG2A/lessons.php

10 вставок кода для главного цикла WordPress | | 2012-06-19 12:04:28 | | Статьи Web-мастеру | | Главный цикл является самой важной частью сайта под управлением WordPress. Именно он позволяет вам получать записи из базы данных WordPress и выводить их на экран. Обладая набором полезных и простых | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Дайджест новых статей по интернет-маркетингу на ваш email
Подписаться

Продающие сайты "под ключ"!

Наши сайты зарабытывают вам деньги. Landing-page. Эффективные продающие сайты точно в срок и под ключ! Всего от 14700 рублей
Подробнее...

Интернет-магазины и каталоги "под ключ"!

Эффективные и удобные инструменты торговли (электронной торговли) "под ключ". Продают, даже когда вы спите! Всего от 33800 рублей
Подробнее...

Комплексный интернет-маркетинг и продвижение сайтов

Максимальную эффективность дает не какой-то конкретный метод, а их комбинация. Комбинация таких методов и называется комплексным интернет-маркетингом. Всего от 8000 рублей в месяц
Подробнее...

Реклама в Yandex и Google

Контекстная реклама нацелена лишь на тех пользователей, которые непосредственно заинтересованы в рекламе Ваших услуг или товаров. Всего от 8000 рублей в месяц
Подробнее...

Social media marketing (SMM) — продвижение в социальных медиа

Реклама в Однокласcниках и на Mail.ru Создание, ведение и раскрутка групп и реклама ВКонтакте и Facebook. Всего от 8000 рублей в месяц
Подробнее...

Приглашаем к сотрудничеству рекламные агентства и веб-студии!

Внимание Акция! Приглашаем к сотрудничеству рекламные агентства и различные веб-студии России! Индивидуальные и взаимовыгодные условия сотрудничества.
Подробнее...

Ускоренная разработка любого сайта от 5 дней!

Внимание Акция! Ускоренная разработка любого сайта! Ваш сайт будет готов за 5-10 дней. Вы можете заказать разработку любого сайта "под ключ" за 5-10 рабочих дней, с доплатой всего 30% от его стоимости!
Подробнее...

Ждем новых друзей!

Внимание Акция! Ждем новых друзей! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта при переходе к нам от другого разработчика.
Подробнее...

Приведи друга и получи скидку!

Внимание Акция! Приведи друга и получи скидку! Скидка 10% на услуги по созданию и(или) обслуживанию вашего сайта, если клиент заказавший наши услуги, пришел по Вашей рекомендации.
Подробнее...

1 2 3 4 5 6 7 8 9

Новые статьи и публикации



Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!

Качественное и объемное представление своего бизнеса в Сети требуется любой растущей коммерческой структуре, стремящейся увеличить продажи, именно по этой причине среди наших клиентов как крупные так и небольшие компании во многих городах России и ближнего зарубежья.
Как мы работаем

Заявка
Позвоните или оставьте заявку на сайте.


Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!


Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.


Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.


Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.

Остались еще вопросы? Просто позвоните и задайте их специалистам
с 2:30 до 11:30 по Мск, звонок бесплатный
Или напишите нам в WhatsApp
с 9:30 до 18:30 по Хабаровску
Или напишите нам в WhatsApp
Веб-студия и агентство комплексного интернет-маркетинга «РЭДЛАЙН» © 2006 - 2024

Профессиональная Веб-разработка. Создание сайтов и магазинов "под ключ" , а также по всей России и зарубежью. Продвижение и реклама. Веб-дизайн. Приложения. Сопровождение. Модернизация. Интеграции. Консалтинг. Продвижение и реклама. Комплексный Интернет-маркетинг.

Оставьте заявку / Задайте вопрос

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услугу

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Обратный звонок

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Подписка на дайджест новостей

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Заказать услуги со скидкой \ Бесплатная консультация







КАКИЕ УСЛУГИ ВАС ИНТЕРЕСУЮТ?

КАКИЕ ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ ПОТРЕБУЮТСЯ?

Нажимая на кнопку ОТПРАВИТЬ, я даю согласие на обработку персональных данных
×

Высококачественные сайты по доступным ценамМы создаем практически любые сайты от продающих страниц до сложных, высоконагруженных и нестандартных веб приложений! Наши сайты это надежные маркетинговые инструменты для успеха Вашего бизнеса и увеличения вашей прибыли! Мы делаем красивые и максимально эффектные сайты по доступным ценам уже много лет!

Что нужно сделать, чтобы заказать создание сайта у нас?

Ну для начала вам нужно представлять (хотя бы в общих чертах), что вы хотите получить от сайта и возможно каким вы хотите его видеть. А дальше все просто. Позвоните нам или оставьте заявку нашим менеджерам, чтобы они связались с Вами, проконсультировали и помогли определиться с подходящим именно Вам сайтом по цене, сроку, дизайну или функционалу. Если вы все ещё не уверены, какой сайт вам нужен, просто обратитесь к нам! Мы вместе проанализируем вашу ситуацию и определим максимально эффективный для вас вариант.

Быстрый заказ \ Консультация

Для всех тарифных планов на создание и размещение сайтов включено:

Комплексная раскрутка сайтов и продвижение сайта Комплексный подход это не просто продвижение сайта, это целый комплекс мероприятий, который определяется целями и задачами поставленными перед сайтом и организацией, которая за этим стоит. Время однобоких методов в продвижении сайтов уже прошло, конкуренция слишком высока, чтобы была возможность расслабиться и получать \ удерживать клиентов из Интернета, просто сделав сайт и не занимаясь им...

Комплексная раскрутка работает в рамках стратегии развития вашего бизнеса в сети и направлена

Быстрый заказ \ Консультация

ЭФФЕКТИВНОЕ СОПРОВОЖДЕНИЕ (ПОДДЕРЖКА, ОБСЛУЖИВАНИЕ) САЙТОВ

Полный комплекс услуг по сопровождению сайтаМы оказываем полный комплекс услуг по сопровождению сайта: информационному и техническому обслуживанию и развитию Интернет сайтов.

Передав свой сайт для поддержки в руки наших специалистов, Вы избавитесь от проблем, связанных с обновлением информации и контролем за работой ресурса.

Наша компания осуществляет техническую и информационную поддержку уже имеющихся сайтов. В понятие «поддержка сайтов» также входят услуги администрирования сайтов, обновления сайтов и их модернизация.

Быстрый заказ \ Консультация

Редизайн сайта и Адаптивный веб дизайн

Современный, технологичный, кроссбраузерный ... Профессиональный дизайн сайтов и веб-приложений

Редизайн сайта — создание нового дизайна сайта с целью улучшения внешнего вида, функциональности и удобства использования. Редизайн сайта – это способ преобразовать проект к извлечению из него максимальной отдачи и средств. В современном мире задачами редизайна является поднятие существующего сайта на новый уровень для внедрения новых технологий, при этом сохраняя многолетний сформировавшийся опыт и успешные решения компаний.

Адаптивный дизайн сайтов и веб-приложений

Все больше людей пользуются мобильными устройствами (телефонами, планшетами и прочими) для посещения Интернета, это не для кого уже не новость. Количество таких людей в процентном отношении будет только больше с каждым годом, потому что это удобно и по многим другим причинам.

На сегодняшний день адаптивный дизайн является стандартным подходом при разработке новых сайтов (или веб-приложений) и в идеале ваш сайт должен смотреться и функционировать так, как вы задумывали, на всём разнообразии устройств.

Быстрый заказ \ Консультация

Контекстная реклама в Яндекс и GoogleКонтекстная реклама - это эффективный инструмент в интернет маркетинге, целью которого является увеличение продаж. Главный плюс контекстной рекламы заключается в том, что она работает избирательно.

Реклама в поисковых системах Яндекс и Google. Профессиональная настройка рекламы и отслеживание эффективности!

Рекламные объявления показываются именно тем пользователям, которые ищут информацию о Ваших товарах или услугах, поэтому такая реклама не является навязчивой и раздражающей в отличие от других видов рекламы, с которыми мы сталкиваемся на телевидении или радио. Контекстная реклама нацелена лишь на тех пользователей, которые непосредственно заинтересованы в рекламе Ваших услуг или товаров.

Быстрый заказ \ Консультация

Скидка

1500 руб.
Заинтересовались услугами создания, обслуживания или продвижения вашей компании в Интернете?!
Получите 1500 руб.
за он-лайн заявку
Предложение ограничено.

После получения заявки с Вами свяжутся наши специалисты и уточнят все детали по интересующей вас услуге.
«Нажимая на кнопку "Получить скидку", я даю согласие на обработку персональных данных»
×
Получите 1500 рублей!
×
×