20+ самых популярных лайфхаков с циклами WordPress

Опубликовано: 2017-12-20

Цикл — это основной процесс в WordPress, поэтому он присутствует почти в каждом файле темы. По сути, это PHP-код, используемый платформой для отображения сообщений через файлы шаблонов темы. Другими словами, он огромен. На самом деле это критично, потому что без шлейфа сайт работать не будет.

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

Давайте покажем вам 20+ лайфхаков с циклами, которые вы должны использовать прямо сейчас, чтобы это произошло без необходимости установки плагинов.

№1. Размещайте рекламу после первого поста

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

Замените свою петлю на приведенную ниже. Обратите внимание, туда нужно вставить код объявления:

[php]
<?php если (have_posts()): ?>
<?php $count = 0; ?>
<?php while (have_posts()): the_post(); ?>
<?php $count++; ?>
<?php если ($count == 2): ?>
//Вставьте код объявления в эту строку
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></а></h2>
<?php the_excerpt(); ?>
<?php еще : ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></а></h2>
<?php the_excerpt(); ?>
<?php конец; ?>
<?php в конце; ?>
<?php конец; ?>
[/php]

№ 2. Отображение устаревших, но популярных сообщений годовой давности

Most Wanted WordPress Loop Hacks

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

Вставьте этот код в файл single.php:

[php]
<?php
$current_day = дата('j');
$last_year = дата('Г')-1;
query_posts('day='.$current_day.'&year='.$last_year);
если (есть_сообщения()):
в то время как (have_posts()): the_post();
the_title();
the_excerpt();
конец;
конец;
?>
[/php]

№3. Показать пять последних прикрепленных сообщений в цикле

Most Wanted WordPress Loop Hacks

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

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

[php]
<?php
$sticky = get_option('sticky_posts');
rsort($липкий);
$sticky = array_slice($sticky, 0, 5);
query_posts(array('post__in' => $sticky, 'caller_get_posts' => 1));

если (есть_сообщения()):
в то время как (have_posts()): the_post();
the_title();
the_excerpt();
конец;
конец;

?>
[/php]

№ 4. Список сообщений из определенной категории

Разделяйте посты из одной категории с помощью приведенного ниже лайфхака.

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

[php]
<?php foreach((get_the_category()) as $category) {
$thecat = $category->cat_ID . ' ';
query_posts('child_of='.$thecat);
если (have_posts()): в то время как (have_posts()): the_post();
//Классический цикл WP
конец;конец;
?>
[/php]

№ 5. Предоставьте список будущих сообщений

Most Wanted WordPress Loop Hacks

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

[php]
<?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 в конце;
else: ?><p>Нет запланированных мероприятий.</p>
<?php конец; ?>
[/php]

№ 6. Получить сообщения, загруженные в определенную дату

Most Wanted WordPress Loop Hacks

Если вам часто трудно найти какие-либо сообщения в своей ленте, вы можете искать их с помощью цикла. Это возможно, вставив следующий код, который делает поиск очень простым. В частности, он извлекает записи, опубликованные между двумя датами, которые вы указываете сами.

[php]
<?php
функция filter_where($where = ") {
$where .= " И post_date >= '2012-08-19' И post_date <= '2012-08-11'";
вернуть $где;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
в то время как (have_posts()):
the_post();
содержимое();
конец;

?>
[/php]

№ 7. Отображение цикла изображений

Галерея изображений на стартовой странице веб-сайта WordPress — хорошая идея, поскольку большинство людей ценят визуальные эффекты. Если ваши сообщения содержат ведущее изображение, приведенный ниже код извлечет их для демонстрации в цикле.

Вставьте следующий код в файл functions.php:

[php]
функция catch_that_image() {
глобальные $post, $posts;
$first_img = ";
об_старт();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
$first_img = $match [1] [0];

if(empty($first_img)){ //Определяет изображение по умолчанию
$first_img = "/images/default.jpg";
}
вернуть $first_img;
}
[/php]

№8. Автоматически удалять сообщения, устанавливая дату истечения срока действия

Предположим, вы проводите конкурс, чтобы увеличить число читателей вашего блога. Когда конкурс закончен, вы публикуете результаты, а главное ответы, или подсказки, и разгадки к ним. Конечно, они не должны быть доступны для читателей навсегда, потому что вы можете провести еще один конкурс в будущем, верно?

Хороший способ удалить сообщения, даже если вы о них забыли, — это запланировать их, установив дату истечения срока действия. Цикл ниже заменяет существующий и делает именно это.

Не забудьте использовать формат мм/дд/гггг 00:00:00 для замены срока действия.

[php]
<?php
если (есть_сообщения()):
в то время как (have_posts()): the_post(); ?>
$expirationtime = get_post_custom_values('срок действия');
если (is_array($expirationtime)) {
$expirestring = взорваться($expirationtime);
}

$secondsbetween = strtotime($expirestring)-время();
если ($ секунд между > 0) {
// Например…
the_title();
the_excerpt();
}
конец;
конец;
?>
[/php]

№ 9. Отделяйте комментарии от трекбэков

Most Wanted WordPress Loop Hacks

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

Все, что вам нужно сделать, это открыть comments.php и найти следующее:

[php]
foreach ($комментарии как $комментарий): ?>
// Здесь отображаются комментарии
конец для каждого;
[/php]

Нашли? Отлично, теперь замените его новым кодом:

[php]
<ul class="список комментариев">
<?php //Отображает только комментарии
foreach ($комментарии как $комментарий): ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'комментарий') { ?>
<li>//Здесь находится код комментария</li>
<?php }
конец для каждого;
</ul>

<ул>
<?php //Отображает только обратные ссылки
foreach ($комментарии как $комментарий): ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'комментарий') { ?>
<li><?php comment_author_link() ?></li>
<?php }
конец для каждого;

</ul>
[/php]

№10. Показать похожие сообщения

Most Wanted WordPress Loop Hacks

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

[php]
<?php
$резервная копия = $сообщение; // резервное копирование текущего объекта
$tags = ks29so_get_post_tags($post->ID);
$tagIDs = массив();
если ($ теги) {
$tagcount = количество($tags);
для ($i = 0; $i < $tagcount; $i++) {
$tagIDs[$i] = $tags[$i]->term_id;
}
$аргументы=массив(
'tag__in' => $tagID,
'post__not_in' => массив ($ post-> ID),
'посты'=>5,
'звонящий_get_posts'=>1
);
$my_query = новый WP_Query($args);
если($my_query->have_posts()) {
в то время как ($my_query->have_posts()): $my_query->the_post(); ?>
<h3><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></а></h3>
<?php в конце;
} иначе { ?>
<h2>Похожих сообщений не найдено!</h2>
<?php }
}
$ сообщение = $ резервная копия; // копируем обратно
ks29so_reset_query(); // чтобы снова использовать исходный запрос
?>
[/php]

№ 11. Определите, как определенные сообщения отображаются на главной странице

Most Wanted WordPress Loop Hacks

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

Найдите файл index.php и найдите там цикл. Его заменяет следующий код:

[php]
<?php если (have_posts()):
в то время как (have_posts()): the_post();
$customField = get_post_custom_values ​​("полный");
если (isset($customField[0])) {
//Пользовательское поле установлено, отображать полный пост
the_title();
содержимое();
} еще {
// Пользовательское поле не задано, позволяет отобразить отрывок
the_title();
the_excerpt();
конец;
конец;
?>
[/php]

№ 12. Отображать рекламный контент над сообщениями на главной странице

Вставьте следующий код в файл index.php, чтобы добавить рекламный контент.

[php]
<div class="контент-цикл">
[/php]

№ 13. Список всех авторов блога на странице

Most Wanted WordPress Loop Hacks

Просто вставьте этот код в любое место цикла, чтобы отобразить список всех авторов.

[php]
<ул>
<?php ks29so_list_authors('exclude_admin=0&optioncount=1&show_fullname=1&hide_empty=1'); ?>
</ul>
[/php]

№ 14. Используйте настраиваемое поле для отображения имени приглашенного автора

Если вы используете гостевых авторов в своем блоге, вполне вероятно, что вы не создадите для них отдельную страницу. Почему бы просто не отображать их имя вместо этого?

Вставьте этот код в single.php, чтобы сделать это:

[php]
<?php $author = get_post_meta($post->ID, "гость-автор", true);
если ($автор != "") {
эхо $автор;
} еще {
Автор();
} ?>
[/php]

№ 15. Сделайте изображение обязательным требованием для публикации

Посты с изображениями часто набирают больше просмотров, чем без них. Откройте файл functions.php, чтобы сделать их обязательными.

[php]
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');

функция wpds_check_thumbnail($post_id) {
// изменить на любой пользовательский тип записи
если(get_post_type($post_id) != 'сообщение')
вернуть;

если (! has_post_thumbnail($post_id)) {
// устанавливаем переход для отображения пользователям сообщения администратора
set_transient("has_post_thumbnail", "нет");
// отключаем эту функцию, чтобы она не зацикливалась бесконечно
remove_action('save_post', 'wpds_check_thumbnail');
// обновить пост, сделать его черновиком
ks29so_update_post(array('ID' => $post_id, 'post_status' => 'черновик'));

add_action('save_post', 'wpds_check_thumbnail');
} еще {
delete_transient("has_post_thumbnail");
}
}

функция wpds_thumbnail_error() {
// проверяем, установлен ли переходный процесс, и отображаем сообщение об ошибке
если (get_transient("has_post_thumbnail") == "нет" ) {
echo "<div id='message' class='error'><p><strong>Вы должны добавить избранное изображение, прежде чем публиковать это. Не паникуйте, ваше сообщение сохранено.</strong></p>< /дел>";
delete_transient("has_post_thumbnail");
}
}
[/php]

№ 16. Перенаправление на определенную страницу после регистрации

Откройте файл functions.php и добавьте приведенный ниже код.

[php]
функция __my_registration_redirect(){
вернуть home_url('/my-page');
}
add_filter('registration_redirect', '__my_registration_redirect');

№ 17. Вставить рекламу в сообщение
Используйте этот код в своем файле functions.php, чтобы размещать рекламу в публикации в любом месте.
взломать
функция googleadsense($content){
$adsensecode = 'Ваши рекламные коды здесь';
$pattern = '<!-googlead->';
$content = str_replace($pattern, $adsensecode, $content);
вернуть $контент;
}
add_filter('the_content', 'googleadsense');
[/php]

№ 18. Используйте шорткоды для показа рекламы

Выберите место, куда вы хотите вставить объявление, и вставьте следующий код в functions.php.

[php]
функция showads() {
вернуть '
КОД ОБЪЯВЛЕНИЯ ЗДЕСЬ
';
}
add_shortcode('adsense', 'showads');
[/php]

№ 19. Показать наиболее комментируемые сообщения

Most Wanted WordPress Loop Hacks

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

[php]
функция wpb_most_commented_posts() {
ob_start();?>
<ul class="самое комментируемое">
<?php
$ запрос = новый
WP_Query('orderby=comment_count&posts_per_page=10');
while($query->have_posts()): $query->the_post(); ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a> <span class="wpb-comment-count"><?php comments_popup_link('Комментариев нет;', '1 Комментарий', '% Комментариев'); ?></span></li>
<?php в конце; ?>
</ul>
<?php// Отключить буферизацию вывода
$выход = ob_get_clean();
вернуть $ вывод; }
add_shortcode('wpb_most_commented', 'wpb_most_commented_posts');
add_filter('widget_text', 'do_shortcode');
[/php]

№ 20. Включить поддержку избранных изображений

Подавляющее большинство тем WordPress поддерживают избранные изображения, но если у вас нет, вы можете включить их, вставив это в файл functions.php.

[php]
add_theme_support('миниатюры постов');
[/php]

№ 21. Показать последние комментарии

Most Wanted WordPress Loop Hacks

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

[php]
<?php
$query = "SELECT * from $wpdb->comments WHERE comment_approved= '1'
ORDER BY comment_date DESC LIMIT 0 ,5";
$comments = $wpdb->get_results($query);
если ($ комментарии) {
эхо '<ul>';
foreach ($комментарии как $комментарий) {
$url = '<a href="'.get_permalink($comment->comment_post_ID).'#comment-'.$comment->comment_ID .'" title="'.$comment->comment_author .' | '.get_the_title($comment->comment_post_ID).'">';
эхо '<li>';
эхо '<div class="img">';
эхо $ URL;
echo get_avatar($comment->comment_author_email, $img_w);
эхо '</a></div>';
echo '<div class="txt">Пар: ';
эхо $ URL;
эхо $комментарий->комментарий_автор;
эхо '</a></div>';
эхо '</li>';
}
эхо '</ul>';
}
?>
[/php]

Готовы взломать?

Используйте эти удобные настройки и улучшите функциональность своего сайта WordPress!