Встроенная галерея на WordPressЧто Вы думаете о стандартной галерее на WordPress? Казалось бы, зачем она нужна? Есть столько плагинов — галерей для WordPress — на любой вкус. Зачем использовать стандартную? Оказывается, несмотря на свою простоту, стандартная галерея WordPress имеет одно преимущество, которое заставляет пользователей, знакомых с SEO, пользоваться именно ею.

Что же такое умеет делать стандартная галерея WordPress и чего не могут супернавороченные галереи-плагины? Ответ простой и может не совсем очевидный — она умеет открывать фотографии на новой странице!

Хммм… и че?

Аргументы

Те, кто пользуется Google Analitics, замечали такой параметр как показатель отказов. Тем, кто не в курсе — это процент посетителей, которые просмотрели на сайте всего лишь одну страницу и ушли. Естественно, сайт с высоким процентом отказов навряд ли будет высоко позиционироваться поисковиком. А значит, желательно, чтобы переходов внутри сайта было побольше. Для этого, конечно, есть и плагины похожих записей и слайдер рекомендуемых постов, но как говорится, кашу маслом не испортишь

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

Модернизируем тему

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

Для начала — меняем заголовок. Логично, чтобы в заголовок был бы тот же, что и в родительском посте, в коде это будет выглядеть так:

1
<h1><a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php echo get_the_title($post->post_parent); ?></h1>

Далее создаем возможность вывести небольшое описание для фотографий. Используется метод post_excerpt, к сожалению, описание будет одно на все фотографии, но это лучше, чем ничего:

1
2
<?php $parent = get_post($post->post_parent); ?> 
<?php echo $parent->post_excerpt; ?>

Третьим шагом организуем вывод самой галереи:

1
2
3
4
5
6
7
8
9
10
11
12
<div class="big_pic">
 <a href="<?php echo wp_get_attachment_url($post->ID); ?>">
 <?php echo wp_get_attachment_image( $post->ID, 'large' ); ?></a>
</div>
<div class="prev_pic">
 <h6> Назад </h6>
 <?php previous_image_link('thumbnail') ?>
</div>
<div class="next_pic">
 <h6> Вперед </h6>
 <?php next_image_link('thumbnail') ?>
</div>

Ну и, естественно, правим css:

1
2
3
.big_pic {text-align:center;} 
.prev_pic {float: left;width: 120px;background: white url(images/warning.png) bottom no-repeat;height: 163px;} 
.next_pic {float: right; width:120px;background: white url(images/warning.png) bottom no-repeat;height: 163px;}

Ну CSS — это для примера, Вам нужно будет по-любому корректировать. Картинка warning.png в бекграунде отображается, когда невозможно создать превьюшку. Способ полностью работоспособен на темах от magpress. В других же темах надо подключать мозги :)

На этом сделаем небольшой перерыв — устал бороться с парсером, портящим код. Если увидите в коде ошибку — сообщите, плиз.