Полезные сниппеты для фотоблога — оформление и вывод изображений на отдельной странице вложения

Полезные сниппеты для фотоблога - оформление и вывод изображений на отдельной странице вложения | n-wp.ru
Несколько сниппетов, помогающих оформить и вывести изображение на отдельной странице вложения.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Полезные сниппеты для фотоблога - оформление и вывод изображений на отдельной странице вложения (1)

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

Полезные сниппеты для фотоблога - оформление и вывод изображений на отдельной странице вложения (5)

Если вы используете отдельную страницу для показа присоединенного к посту изображения, формируемую файлом image.php, то наверняка указываете ссылки на предыдущее и следующее изображение, отображаемые в виде миниатюр. Эти ссылки-миниатюры выводятся функциями previous_image_link и next_image_link. Однако по-умолчанию у ссылок, выводимых этими функциями, нет никакого класса, и чтобы оформить их, приходится придумывать лишний код. Это дело можно поправить, добавив классы оформления к ссылкам, если использовать функции в таком виде:

 'prev_img')); ?>
 'next_img')); ?>

Полезные сниппеты для фотоблога - оформление и вывод изображений на отдельной странице вложения (4)

Чтобы дать понять посетителю, какое он просматривает изображение на отдельной странице вложения, за вывод которой отвечает файл image.php, можно вывести счетчик изображений. Он будет показывать, какой порядковый номер у просматриваемого изображения, и сколько всего изображений, например, вот так: 1 из 64. Код для вставки в файл image.php:

 $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) );
    $count = count( $attachments );
    $specific = array();
    $i = 1;
    foreach ( $attachments as $attachment ) {
        $specific[$attachment->ID] = $i;
        ++$i;
    }
    echo "{$specific[$post->ID]} из {$count}";
?> 

Полезные сниппеты для фотоблога - оформление и вывод изображений на отдельной странице вложения (3)

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

post_parent) {
        $ancestors = get_post_ancestors($post->ID);
        $root = count($ancestors)-1;
        $parent = $ancestors[$root];
        $parent_title = get_the_title($parent);?>
        <a href="" class="post-parent-link" title="вернуться на страницу «post_parent); ?>»"></a>
    

Полезные сниппеты для фотоблога - оформление и вывод изображений на отдельной странице вложения (2)

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

function my_get_image_size_links() {

    global $post;
    $attachments = get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) );
    $count = count( $attachments );
    $specific = array();
    $i = 1;
    foreach ( $attachments as $attachment ) {
        $specific[$attachment->ID] = $i;
        ++$i;
    }

	if ( !wp_attachment_is_image( get_the_ID() ) )
		return;
	$links = array();
	$sizes = get_intermediate_image_sizes();
	$sizes[] = 'full';
    $title = get_the_title();
	foreach ( $sizes as $size ) {
		$image = wp_get_attachment_image_src( get_the_ID(), $size );
		if ( !empty( $image ) && ( true == $image[3] || 'full' == $size ) )
			$links[] = "<span class='previous_post_link_top'><a>ID]} — {$image[1]}×{$image[2]}' target='_blank' class='image-size-link' href='{$image[0]}'>{$image[1]}<span class='x-color'>×</span>{$image[2]}</a></span>";
	}
	return join( '', $links );
}

Для вывода ссылок на все варианты изображения вставьте в файл image.php:

 
Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий