20+ самых популярных лайфхаков с циклами WordPress
Цикл — это основной процесс в WordPress, поэтому он присутствует почти в каждом файле темы. По сути, это PHP-код, используемый платформой для отображения сообщений через файлы шаблонов темы. Другими словами, он огромен. На самом деле это критично, потому что без шлейфа сайт работать не будет.
Настройка этого набора невероятно мощных функций может расширить возможности вашего сайта WordPress. Например, вы можете изменить способ отображения сообщений на главной странице и отсортировать их по определенным параметрам. Учитывая, что цикл модифицировать проще всего, можно получить довольно впечатляющие и креативные хаки.
Давайте покажем вам 20+ лайфхаков с циклами, которые вы должны использовать прямо сейчас, чтобы это произошло без необходимости установки плагинов.
1 Размещайте рекламу после первого поста
Как блогер, вы очень хорошо знаете, что реклама — один из лучших способов заработать деньги. Получение столь необходимых кликов от посетителей, безусловно, непростая задача, и многим блоггерам не нравится высокий рейтинг кликов. Размещение рекламы после первого поста может быть хорошим способом их увеличения, поэтому попробуйте эту простую настройку.
Замените свою петлю на приведенную ниже. Обратите внимание, туда нужно вставить код объявления:
//Insert the code of an ad in this line
2 Отображение устаревших, но популярных постов годовалой давности
Некоторые посты в вашем блоге, хотя и были созданы год назад, все еще могут быть популярны среди ваших читателей. Например, это может быть статья с практическими рекомендациями или какой-либо другой вечнозеленый контент. Чтобы эти посты оставались популярными, вы можете применить этот удобный лайфхак.
Вставьте этот код в файл single.php:
3 Отображение пяти последних прилепленных сообщений в цикле
Функция по умолчанию позволяет прилепить один пост на главную страницу. Приведенный ниже хак размещает пять липких постов.
Многие блоггеры считают прикрепленные записи избранными, потому что они позволяют одной записи отображаться над другими. Если вы хотите создать свою собственную категорию «Выбор редакции», для этого есть лайфхак. Для работы приведенный ниже код необходимо вставить в любое место темы. Вы также можете изменить число, чтобы показывать меньше сообщений, заменив число в четвертая строка.
$sticky, 'caller_get_posts' => 1) );
if (have_posts()): while (have_posts()): the_post();
the_title();
the_excerpt();
endwhile;
endif;
?>
4 Список сообщений из определенной категории
Разделяйте посты из одной категории с помощью приведенного ниже лайфхака.
Если по какой-то причине вам нужно различать сообщения, относящиеся к одной и той же категории (например, статьи с практическими рекомендациями для авторов эссе), вставьте следующий код в файл цикла.
cat_ID. ' ';
query_posts('child_of='.$thecat);
if (have_posts()): while (have_posts()): the_post();
//Classic WP loop
endwhile;endif;
?>
5 Предоставьте список будущих сообщений
Если вы сообщите читателям о предстоящих публикациях, это может вызвать у них интерес и заставить их вернуться в ваш блог, чтобы прочитать их. Если это кажется вам отличной идеей, используйте приведенный ниже код, чтобы предоставить краткий список предстоящих сообщений на вашем сайте WordPress.
No future events scheduled.
6 Получайте сообщения, загруженные в определенную дату
Если вам часто трудно найти какие-либо сообщения в своей ленте, вы можете искать их с помощью цикла. Это возможно, вставив следующий код, который делает поиск очень простым. В частности, он извлекает записи, опубликованные между двумя датами, которые вы указываете сами.
= '2012-08-19' AND post_date
7 Отображение цикла изображений
Галерея изображений на стартовой странице веб-сайта WordPress — хорошая идея, поскольку большинство людей ценят визуальные эффекты. Если ваши сообщения содержат ведущее изображение, приведенный ниже код извлечет их для демонстрации в цикле.
Вставьте следующий код в файл functions.php:
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('//i', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Determines a default image
$first_img = "/images/default.webp";
}
return $first_img;
}
Предположим, вы проводите конкурс, чтобы увеличить число читателей вашего блога. Когда конкурс закончен, вы публикуете результаты, а главное ответы, или подсказки, и подсказки к ним. Конечно, они не должны быть доступны для читателей навсегда, потому что вы можете провести еще один конкурс в будущем, верно?
Хороший способ удалить сообщения, даже если вы о них забыли, — это запланировать их, установив дату истечения срока действия. Цикл ниже заменяет существующий и делает именно это.
Не забудьте использовать формат мм/дд/гггг 00:00:00 для замены срока действия.
$expirationtime = get_post_custom_values('expiration');
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondsbetween = strtotime($expirestring)-time();
if ($secondsbetween > 0) {
// For example…
the_title();
the_excerpt();
}
endwhile;
endif;
?>
9 Отделяйте комментарии от трекбэков
На популярную запись в вашем блоге будут ссылаться многие другие сайты. Чтобы читатели могли удобно следить за обсуждением в разделе комментариев, вы должны разделить комментарии и обратные ссылки.
Все, что вам нужно сделать, это открыть comments.php и найти следующее:
foreach ($comments as $comment): ?>
// Comments are displayed here
endforeach;
Нашли? Отлично, теперь замените его новым кодом:
10 Показать похожие сообщения
Отображение похожих постов — хороший способ увеличить читательскую аудиторию. Все, что вам нужно сделать для этого, это вставить специальный код в файл single.php.
ID);
$tagIDs = array();
if ($tags) {
$tagcount = count($tags);
for ($i = 0; $i term_id;
}
$args=array(
'tag__in' => $tagIDs,
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts()) {
while ($my_query->have_posts()): $my_query->the_post(); ?>
Подавляющее большинство тем WordPress одинаково отображают все записи на стартовой странице. Однако, если вам это не нравится, вы можете изменить его и определить, какие из них должны отображаться полностью, а для каких достаточно только отрывков.
Найдите файл index.php и найдите там цикл. Его заменяет следующий код:
12 Отображайте рекламный контент над сообщениями на главной странице.
Вставьте следующий код в файл index.php, чтобы добавить рекламный контент.
13 Список всех авторов блога на странице
Просто вставьте этот код в любое место цикла, чтобы отобразить список всех авторов.
14 Используйте настраиваемое поле для отображения имени приглашенного автора
Если вы используете гостевых авторов в своем блоге, вполне вероятно, что вы не создадите для них отдельную страницу. Почему бы просто не отображать их имя вместо этого?
Вставьте этот код в single.php, чтобы сделать это:
ID, "guest-author", true);
if ($author != "") {
echo $author;
} else {
the_author();
} ?>
15 Сделайте изображение обязательным требованием для публикации
Посты с изображениями часто набирают больше просмотров, чем без них. Откройте файл functions.php, чтобы сделать их обязательными.
add_action('save_post', 'wpds_check_thumbnail');
add_action('admin_notices', 'wpds_thumbnail_error');
function wpds_check_thumbnail( $post_id) {
// change to any custom post type
if( get_post_type($post_id) != 'post') return;
if (! has_post_thumbnail( $post_id)) {
// set a transient to show the users an admin message
set_transient( "has_post_thumbnail", "no" );
// unhook this function so it doesn't loop infinitely
remove_action('save_post', 'wpds_check_thumbnail');
// update the post set it to draft
ks29so_update_post(array('ID' => $post_id, 'post_status' => 'draft'));
add_action('save_post', 'wpds_check_thumbnail');
} else {
delete_transient( "has_post_thumbnail" );
}
}
function wpds_thumbnail_error() {
// check if the transient is set, and display the error message
if (get_transient( "has_post_thumbnail") == "no") {
echo "You must add a Featured Image before publishing this. Don't panic, your post is saved.
";
delete_transient( "has_post_thumbnail" );
}
}
16 Перенаправление на определенную страницу после регистрации
Откройте файл functions.php и добавьте приведенный ниже код.
function __my_registration_redirect(){
return home_url( '/my-page' );
}
add_filter( 'registration_redirect', '__my_registration_redirect' );
#17. Insert Ads in Post
Use this code in your functions.php file to wrap ads in a post in any place you want.
Hack
function googleadsense($content){
$adsensecode = 'Your Ad Codes Here';
$pattern = '';
$content = str_replace($pattern, $adsensecode, $content);
return $content;
}
add_filter('the_content', 'googleadsense');
18 Используйте шорткоды для показа рекламы
Выберите место, куда вы хотите вставить объявление, и вставьте следующий код в functions.php.
function showads() {
return '
AD'S CODE HERE
';
}
add_shortcode('adsense', 'showads');
19 Отображение наиболее комментируемых сообщений
Добавьте следующий код в файл functions.php, чтобы показать сообщения с наибольшим количеством комментариев.
function wpb_most_commented_posts() {
ob_start();?>
//Comment code goes here