Условные теги WordPress. 10 примеров использования

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

 

Что такое “условный тег”?

Они отвечают на вопрос типа “да/нет”: они возвращают только TRUE или FALSE, когда их используют. Условные теги применяются в выражениях if – в зависимости от значения TRUE или FALSE, мы можем использовать наш код в соответствии с ответом.

Все условные теги описаны в кодексе WordPress.

В нашем уроке представлены 10 условных тегов.

 

Функция 1. Выводим сообщение на главной странице  с помощью is_front_page()

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

Сначала нужно скачать плагин ColorBox jQuery. Берем файл colorbox.min.js из папки “colorbox/colorbox” и colorbox.css (вместе с соответствующей папкой “images”) и размещаем их в папке “colorbox” в своем проекте.

Затем создаем файл colorbox.load.js, чтобы загрузить всплывающее информационное окно. Размещаем данный файл также в папке “colorbox”:

jQuery(document).ready(function($) {
	var $popup = $("#mypopup");
	$.colorbox({href:$popup});
});

После чего размещаем код HTML всплывающего окна (с идентификатором “mypopup” для CSS) внутри файла index.php вашей темы и скрываем его в файле style.css (с помощью кода “#mypopup {display:none;}“).

function front_popup() {
	if(is_front_page()) {
		// загрузить colorbox.min.js
		wp_enqueue_script('colorbox-js', get_template_directory_uri().'/colorbox/colorbox.min.js',array('jquery'));
		// загрузить colorbox.load.js
		wp_enqueue_script('colorbox-load-js', get_template_directory_uri().'/colorbox/colorbox.load.js',array('colorbox-js'));
		// загрузить colorbox.css
		wp_enqueue_style('colorbox-css', get_template_directory_uri().'/colorbox/colorbox.css');
	}
}
add_action('wp_head','front_popup');

Копируем данный код в файл functions.php!

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

<a href="javascript:$.colorbox.close();">Закрыть</a>

 

Функция 2. Добавляем код CSS и JS на определенную страницу с помощью is_page()

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

function extra_assets() {
	if(is_page(123)) { // '123' - идентификатор страницы, которая нуждается в дополнительных файлах
		wp_enqueue_script('my-script', get_template_directory_uri().'/some/path/in/your/theme/folder/script.js');
		wp_enqueue_style('my-style', get_template_directory_uri().'/some/path/in/your/theme/folder/style.css');
	}
}
add_action('wp_head','extra_assets');


Как и в первом примере, код нужно добавить в файл functions.php. (Нужно изменить число “123” на реальный идентификатор страницы!)

 

Функция 3. Раздел “Еще из данной категории” для записи в специальной категории с помощью in_category()

Иногда требуется организовать раздел “Еще из данной категории” для определенной категории (и только для нее). Допустим, у вас есть категория “Новости” и другие категории не подходят для раздела, который нужно создать. Условный тег in_category()поможет решить задачу:

function more_from_category($cat_ID) {
	if(in_category($cat_ID) {
		$posts = get_posts('numberposts=5&category='.$cat_ID);
		$output = '<h3>Еще из данной категории</h3>';
		$output.= '<ul>';
		foreach($posts as $post) {
			$output.= '<li><a href="'.get_the_title().'">'.get_permalink.'</a></li>';
		}
		wp_reset_query();
		$output.= '</ul>';
		echo $output;
	}
}

Делаем функцию такой, какая требуется для задачи и добавляем ее в файл functions.php. Затем открываем файл single.php и помещаем код (<?php more_from_category(123); ?>) туда, где должен появляться раздел.

 

Функция 4. Выводим имя автора на странице предварительного просмотра с помощью is_preview()

Может потребоваться выводить имя автора на странице предварительного просмотра. Добавляем следующий код в файл functions.php вашей темы:

function preview_warning() {
	if(is_preview()) {
		echo '<div id="preview-warning">Вы находитесь на странице предварительного просмотра!<div>';
	}
}
add_action('the_content','preview_warning');

Конечно, нужно еще добавить код в файл style.css, для формирования текста предупреждения:

#preview-warning {
	background:#800;
	line-height:50px;
	font-size:30px;
	font-weight:bold;
	text-align:center;
	position:fixed;
	bottom:0;
}

 

Функция 5. Удаляем определенные элементы со страницы 404 с помощью is_404()

Самый простой код из всех, приведенных в данной статье. Нужно просто заключить “определенные элементы” в приведенный ниже код (например, рекламные блоки)!

if(!is_404()) {
	// Здесь размещаются "определенные элементы".
}

 

Функция 6. Скрываем автоматически генерированную цитату с помощью has_excerpt()

Некоторым, не нравится автоматически генерированные цитаты. Для удаления можно воспользоваться кодом, который приведен в кодексе WordPress:

function full_excerpt() {
	if (!has_excerpt()) {
		echo '';
	} else {
		echo get_the_excerpt();
	}
}

Добавляем его в файл functions.php и заменяем реализацию the_excerpt() на full_excerpt().

 

Функция 7. Формируем список заголовков записей  (вместо полного содержания) в архиве на основе дат с помощью is_date()

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

Данная техника требует внимания, так как фалы archive.php различаются в каждой теме. (А если в вашей теме есть файл date.php, вам следует редактировать его). Найдите основной цикл в коде и меняйте его следующим образом:

if(is_date()) {
	// Если тема использует  заголовки h2 для записей, используйте h2. Если - h1, используйте h1.
	echo '<h2>'.the_title().'</h2>';
} else {
	// ...
	// Оригинальный код в основном цикле
	// ...
}

 

Функция 8. Изменяем фавиконку для панели администратора с помощью is_admin()

Данный код может быть полезен, когда вы работаете с большим количеством открытых закладок в вашем блоге. В таком случаем можно немного изменить фавиконку и сохранить ее как adminfav.ico – например, фавиконка панели администратора может иметь другой цвет фона.

Остается только добавить код в файл functions.php:

function admin_favicon() {
	if(is_admin()) {
		echo '<link rel="shortcut icon" href="'.get_bloginfo('url').'/adminfav.ico" />';
	}
}
add_action('admin_head','admin_favicon');

 

Функция 9. Выводим миниатюры для записи по умолчанию с помощью has_post_thumbnail()

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

if(has_post_thumbnail()) {
	the_post_thumbnail();
}
else {
	echo '<img src="'.get_template_directory_uri().'/images/default-thumb.jpg" alt="'.get_the_title().'" class="default-thumb" />';
}

Таким образом можно сохранить целостность внешнего вида темы.

 

Функция 10. Выводим специальное меню для зарегистрированных пользователей с помощью  is_user_logged_in()

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

function member_menu() {
	if(is_user_logged_in()) {
		echo '<div class="member-menu"><h2>Специальное меню</h2><ul><li><a href="#">Первый пункт меню</a></li><li><a href="#">Второй пункт меню</a></li><li><a href="#">Третий пункт меню</a></li></ul></div>';
	}
}

Здесь представлен обычный код “заголовок и список”. Следует сделать его таким, как и код боковой панели вашей темы и затем разместить код <?php member_menu(); ?> в вашей теме в файле sidebar.php.

Также, в идеале следует использовать пользовательское меню WordPress с помощью wp_nav_menu(). Одно стандартное и одно для зарегистрированных пользователей, а затем вы можете управлять ими с помощью панели администратора WordPress.

 

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

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Условные теги WordPress. 10 примеров использования | | 2012-06-24 16:22:22 | | Статьи Web-мастеру | | Условные теги являются одним из мощных инструментов, которые помогают облегчить разработку проектов на WordPress. В данном уроке мы рассмотрим несколько условных тегов и примерами функций, | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: