Продолжение... Начало темы о NextGEN Gallery здесь.
На своем сайте для оформления фотогалереи я использую NextGEN Gallery, которая легко и быстро решает все вопросы: довольно хорошая навигация, внешний вид, watermark (авторские права на фото в виде какой либо надписи или изображения) на изображения, удобная в пользовании.
Все вроде бы хорошо, но все таки определенные вопросы были, приходилось править "под себя".
Одна из таких проблем - это заглавие страницы. Оно не только смотрится не красиво, но и для SEO не есть хорошо.
Вяглядело это все вот так: Album 1 - Gallery 1 - имя_страницы - название -сайта . Название альбома и галереи не выводились, несмотря на то что они были вписаны в соответствующие поля.
Функция, отвечающая за вывод в данном случае имени страницы описана в файле rewrite.php, который находится по следующему пути: wp-content\plugins\nextgen-gallery\lib\rewrite.php.
Для исправления вывода нужно добавить следующий код, начиная со 198 строки:
//$title = $new_title . $title;
global $wpdb;
$gallerycontent = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$gallery' ");
if(!empty($gallerycontent->title)) {
$new_title = $gallerycontent->title.' > ';
$title = $new_title . $title;
}return $title;
В этом случае у нас получается заглавие следующего типа: Имя_галереи - имя_страницы - название -сайта.
Чтобы получить заглавие типа: Имя_альбома - Имя_галереи - имя_страницы - название -сайта нужно добавить следующий код взамен предыдущего:
global $wpdb;
$albumcontent = $wpdb->get_row("SELECT * FROM $wpdb->nggalbum WHERE id = '$album' ");
$gallerycontent = $wpdb->get_row("SELECT * FROM $wpdb->nggallery WHERE gid = '$gallery' ");if(!empty($gallerycontent->title)) {
$new_title = ' - '.$albumcontent->name.' - '.$gallerycontent->title.'';
$title = $new_title . $title;
}return $title;
Я использую первый вариант вывода, т.к. у меня только один альбом, и дублировать название альбома для каждой галереи не стоит. В SEO я не силен, но думаю для него первый вариант более приемлем, по крайней мере в моем случае.
Посмотреть мою галерею можно здесь: http://postroim.of.by/nashiraboty.
Красивых галерей Вам! 😉
Спасибо за пост! Теперь заголовки приняли человеческий вид 🙂
Спасибо за положительный комментарий! Приятно что пост стал полезным! 🙂
Все работает. теперь отображается Имя_галереи – имя_страницы – название -сайта. Это хорошо когда все картинки находятся на одной странице!
А вот если галерея создает для каждой картинки свою страницу (fotoshkola/?album=2&gallery=1&pid=1) то для всех картинок этой галереи один заголовок
мне посоветовали:
global $wpdb;
if ( !empty($pid) )
$alttext = $wpdb->get_var('SELECT alttext FROM wp_ngg_pictures WHERE pid='.$pid);
if (!empty($gallery))
$galleryname = $wpdb->get_var('SELECT title FROM wp_ngg_gallery WHERE gid='.$gallery);
...
if ( !empty($pid) )
$new_title .= 'Фото:' .' '. $alttext . $sep ;
//$new_title .= __('Picture', 'nggallery') . ' ' . intval($pid) . $sep ;
но что-то не получается поставить (:
кстати, я его ставлю на 198 строку с вашим кодом (частично) и без него. все равно не работает. Она работает так:
открываем картинку заголовок меняется как надо, но переходим на другую заголовок стоит на месте, чтобы изменить))) нужно вернуться на страницу галереи и щелкнуть на другое фото:)
При возможности посмотрю, постараюсь помочь.
попробовал все приведенные здесь способы - не работает. просто падает сайт с ошибкой 500 и приходится через панель файл править, чтобы вернуть прежнее состояние.
проверял - код вписываю там где надо и без искажений.
nextgen gallery 1.8.1, вордпресс 3.1.3
Как работает этот прием на последних версиях плагина и вордпресса - сказать не могу, не проверял.
ПОдскажите как вывести название галереи? Вот в посте я пишу [nggallery id=2], но что бы выводилось название приходится писать выше его. А можно как ни будь это изменить? Заранее спасибо.
не подскажу, не сталкивался с таким.
Подскажите пожалуйста, на сайте grifstroy.ru нужно настроить вывод альбомов на три вида. соответсвенно, чтобы каждый альбом имел свое название. как настроить чтобы отображалось название альбома?
спасибо
не подскажу, не вникал в эти вопросы.
А у меня при первом варианте выводится только название страницы_название сайта. А название галереи нет. Подскажите, в чем может быть причина? Спасибо