Jump to content
  • 0

Проблема с добавлением слайд-шоу nivo-slider на Wordpress


maliyshock
 Share

Question

Сайт на wordpress и Вот какая проблема:

Когда я добавляю код слайдов (используется nivo-slider), напрямую в файл content.php (рис 1) все отображается нормально. Однако файл content.php грузит определенный контент из базы данных, в зависимости от того к какой странице идет обращение. И здесь есть вот какой недостаток, сл-шоу отображается на всех страницах повсеместно, что на "главной", что "о нас".

Казалось бы решением должно бы быть добавить код отвечающий за сл-шоу в ту ячейку базы данных, где хранится наполнение конкретной страницы, например "главная" (рис 2). Но не тут то было, в этом случае слайд-шоу работает не корректно ( не все слайды "собираются" правильно, глючат, навигационных кнопок больше чем самих слайдов, они как бы дублируются рис 3, на этом рисунке всего 4-ре слайда, но отображается почему-то 7, картинка съехала вниз, хотя уже следующая загрузилась нормально). Почему так происходит? Код при этом остается прежним, каких-либо правок не вносится.

Может стоит в content.php написать что-то вроде если идентификатор страницы равен идентификатору "главная", подгружаем файл сдайдшоу.php, в противном случае ничего не делаем. Вот только я слабо представляю как это написать, с синтаксисом Php пока не подружился. Помогите пожалуйста, уже больше 10 часов ломаю голову над этим.

рис 1 dcb7633ae7cadbb06e02a7a0f36aecb6.jpg

рис 2 7fe788bd6ca799ac741b11c68153d15c.jpg

рис 3 8f03695898edea7ed2418cf0320adba2.jpg

Link to comment
Share on other sites

21 answers to this question

Recommended Posts

  • 0

Плагин пробовал, та же самая ситуевина. Большее количество кнопок чем изображений и половина эффектов глючит - неправильно собирает изображения.

Я пробовал плагин версии 0.3.3 Nivo Slider for WordPress. Очень удобный, он нет дизайна совсем да и глюки тоже причутствовали.

Других плагинов пока не пробовал, однако что-то мне подсказывает, что проблему это не решит.

Edited by maliyshock
Link to comment
Share on other sites

  • 0

Ребят, я в растерянности, я обращаюсь к вам! Да и сто-то мне подсказывает, что у этих товарищей по несколько сотен писем на дню, да и куда это к ним? И как скоро они мне с этим помогут? Когда выйдет следующая версия Wordpress? Пол года? Год? Я пишу сюда в надежде на то, что мне помогут здесь знающие люди, ибо я только начинаю. Если проблема не решаема и вы в этом точно уверены, то так и скажите. Если не знаете как её решить, то направьте туда где знают, но только чтобы это было реально осуществимо, пол года я ждать не могу.

Это одна сторона вопроса.

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

Link to comment
Share on other sites

  • 0

Выберите другой слайдер. Который будет работать на вашей версии вордпресса. Их куча. Не мучайтесь.

Я пробовал плагин версии 0.3.3 Nivo Slider for WordPress.

На данный момент версия 2.0. Существенные я думаю различия. Нет?

Link to comment
Share on other sites

  • 0

Дело здесь не в версии плагина, а в чем-то другом. Возможно в моем конкретном случае что-то с чем-то конфликтует, вопрос что? Задача найти это что-то и устранить или же хитрым путем обойти этот конфликт.

вот что посоветовали ребята с другого форума, если кому интересно. Завтра буду пробовать.

http://codex.wordpress.org/Conditional_Tags

Link to comment
Share on other sites

  • 0

Да как дело не в версии. Вы думаете просто так что ли цифру версий ставят?

Люди дорабатывают плагины, исправляют ошибки. У вас может и вордпресс какой нибудь 2.0 версии?

Поставьте показ ошибок. Сразу же видно будет, кто на что ругается.

Link to comment
Share on other sites

  • 0

Я пробовал ставить другой, но он требует создание отдельной заметки и ссылку на её страницу, которая мне в общем то никак не нужна нигде. Если её можно как-то сделать невидимой - другой вопрос.

Хорошо, завтра попробую повоевать со слайдшоу ещё, попробую другие плагины. Нет, вордпресс последней версии. Просто искал плагин через вордпрессовский поисковик, тот был в самом верху и имел хорошие отзывы, но не имел оформления и глючил как остальные слайдшоу которые я ставил.

http://ruseller.com/adds.php?rub_id=11&id=2071 - вот этот кстати работал нормально, на краняк поставлю его и буду маяться с оформлением.

Показ ошибок это тоже плагин?

Edited by maliyshock
Link to comment
Share on other sites

  • 0

Проблема только в том, чтобы отобразить галерею внутри контента конкретного поста? Если да, то для этих целей можно зарегистрировать простой shortcode, который вызывает функцию nivo слайдера, и поместить его в нужный пост

PS: неудобно было читать с телефона :) Слайдер нужен только на главной странице? Попробуй поставить плагин и добавить в шаблон:

<?php if ( (is_home() || is_front_page()) && function_exists('show_nivo_slider') ) { show_nivo_slider(); } ?>

Либо инклудить что ты там инклудишь:

<?php if ( is_home() || is_front_page() ) {
// код
} ?>

Только лучше не делать этого в content.php. Добавить желательно в шаблон, отвечающий за отображение главной страницы (page.php или что там у тебя). Если для главной есть отдельный шаблон, то условие не нужно.

Полезные ссылки:

Conditinal Tags (is_home, is_front_page и так далее)

Как Wordpress определяет, какой шаблон выбрать для отображения страницы

Link to comment
Share on other sites

  • 0

Огромное спасибо, мне на другом форуме то же самое подсказали, сегодня буду пробовать!

У меня к вам ещё один маленький вопрос. Я же могу задавать в условиях стили? Допустим если это такая-то страница, то ширина этого блока меняется на то-то. Я завтра сам это попробую на практике, просто мало ли я что-то не так понял.

т.е. получается что-то вроде

<?php if (is_page ('42'))

{

<style type="text/css">

#content{width: 400px}

}

else

{

<style type="text/css">

#content{width: 600px}

}

Хорошо, я почему-то на Page.php не обратил внимание.)

И последнее, я хочу чтобы у меня не копились ревизии, я правильно сделал что добавил вот эту строчку в файл config.php

define('WP_POST_REVISIONS', 0);

или же лучше воспользоваться плагином Disable Revisions?

Link to comment
Share on other sites

  • 0

Огромное спасибо, мне на другом форуме то же самое подсказали, сегодня буду пробовать!

У меня к вам ещё один маленький вопрос. Я же могу задавать в условиях стили? Допустим если это такая-то страница, то ширина этого блока меняется на то-то. Я завтра сам это попробую на практике, просто мало ли я что-то не так понял.

т.е. получается что-то вроде

<?php if (is_page ('42'))
{
<style type="text/css">
#content{width: 400px}
}
else
{
<style type="text/css">
#content{width: 600px}
}

Не надо так делать. Во-первых, это супротив стандартов и не везде сработает. Во-вторых, шаблон станет вовсе нечитаемым. Правильнее будет использовать один из вариантов:

  1. Использовать стандартные классы, которые вордпресс вешает на body и задавать стили через селектор этого класса. Например: ".page #content".
  2. Использовать фильтр в functions.php чтобы добавить свои собственные классы в зависимости от страницы: http://codex.wordpress.org/Function_Reference/body_class#Add_Classes_By_Filters
  3. Сделать несколько шаблонов для страниц, которые можно будет выбирать при редактировании страницы в админке: http://codex.wordpress.org/Pages#Page_Templates
  4. Использовать фильтры для подгрузки отдельных файлов стилей.

А еще: не забывайте про тег

![/b] См. информацию вверху этой страницы.
И последнее, я хочу чтобы у меня не копились ревизии, я правильно сделал что добавил вот эту строчку в файл config.php

define('WP_POST_REVISIONS', 0);

или же лучше воспользоваться плагином Disable Revisions?

Понятия не имею. Каждый делает как считает нужным.

Link to comment
Share on other sites

  • 0
Либо инклудить что ты там инклудишь:

<?php if ( is_home() || is_front_page() ) {
// код
} ?>

Спасибо hedgehog все отлично сработало. С ревизиями тоже разобрался.

Относительно советов по изменению ширины контента в зависимости от страницы я не понял ни одного из перечисленных пунктов... :( Возможно ли это как-нибудь по подробнее объяснить? Это уже скорее не по теме, по сему предлагаю перенести общение в личку, если вам не сложно. (если на этом форуме таковая есть, я не нашел :blush: )

Дело в том, что я не разу не сталкивался с фильтрами, я в принципе с вордпрессом то знаком всего пару дней. Как использовать селекторы типа ".page #content" тоже не совсем понятно, т.е. как это будет срабатывать в зависимости от страницы? Если бы странички были бы статичные, то вопросов нет все просто там один идентификатор, там другой, тут одно инклюднул, там другое. Но у меня по сути задан один стиль для одной динамической части контент, которая грузит наполнения из базы, т.е. блок один, стиль для него один, а меняется только лишь наполнение и как же сделать так чтобы менялась его ширина?

Те ссылки которые вы дали они на английском языке. Я знаю базовый английский, но здесь мне ничего непонятно, переводчик справляется со своей задачей плохо... :unsure:

Edited by maliyshock
Link to comment
Share on other sites

  • 0
Относительно советов по изменению ширины контента в зависимости от страницы я не понял ни одного из перечисленных пунктов... :( Возможно ли это как-нибудь по подробнее объяснить? Это уже скорее не по теме, по сему предлагаю перенести общение в личку, если вам не сложно. (если на этом форуме таковая есть, я не нашел :blush: )

Дело в том, что я не разу не сталкивался с фильтрами, я в принципе с вордпрессом то знаком всего пару дней. Как использовать селекторы типа ".page #content" тоже не совсем понятно, т.е. как это будет срабатывать в зависимости от страницы? Если бы странички были бы статичные, то вопросов нет все просто там один идентификатор, там другой, тут одно инклюднул, там другое. Но у меня по сути задан один стиль для одной динамической части контент, которая грузит наполнения из базы, т.е. блок один, стиль для него один, а меняется только лишь наполнение и как же сделать так чтобы менялась его ширина?

Те ссылки которые вы дали они на английском языке. Я знаю базовый английский, но здесь мне ничего непонятно, переводчик справляется со своей задачей плохо... :unsure:

Элементарно. Добавляем фильтр:

add_filter('body_class','my_class_names');

В функции my_class_names добавляем класс:

function my_class_names($classes) {
$class = //определяем имя класса в зависимости от страницы
$classes[] = $class; //добавляем наш класс в массив
return $classes;
}

А дальше - дело техники. На нужной странице у body будет класс, скажем, balalaika. Соответственно для #content внутри body с этим классом задаем ширину:

.balalaika #content {
width:50%;
}

Но это все сильно обобщено. Не очень понятно, какие цели ты преследуешь. Вариантов - масса, какой лучше подойдет - зависит от конкретных целей.

Link to comment
Share on other sites

  • 0

Элементарно. Добавляем фильтр:

add_filter('body_class','my_class_names');

В функции my_class_names добавляем класс:

function my_class_names($classes) {
$class = //определяем имя класса в зависимости от страницы
$classes[] = $class; //добавляем наш класс в массив
return $classes;
}

А дальше - дело техники. На нужной странице у body будет класс, скажем, balalaika. Соответственно для #content внутри body с этим классом задаем ширину:

.balalaika #content {
width:50%;
}

Но это все сильно обобщено. Не очень понятно, какие цели ты преследуешь. Вариантов - масса, какой лучше подойдет - зависит от конкретных целей.

Правильно ли я понял что вот здесь

$class = //определяем имя класса в зависимости от страницы

нужно поставить условие например

 if is_page (array (42,'about-me','About Me And Joe')) 

т.е. получается переменная получает такое-то имя класса при таком-то условии(находимся на страничке либо с идентификатором 42, либо с короткой ссылкой about-me, либо с заголовка About Me And Joe )

И соответственно у body нужный класс появляется автоматически в зависимости от странички?

А цель такая. Мне нужно было добавить админку на сайт. Я ещё в процессе обучения, постигаю азы так сказать и самому админку создать с широкими возможностями как в wp для меня показалось делом сложноватым. Соответственно я решил отредактировать одну из стандартных вордпрессовских тем под дизайн того самого сайта, к которому нужно було сделать админку + вставил нужный контент. В принципе получилось. Но т.к. я с вордпрессом ещё не подружился, в первые дни работы я дофига чего наудалял, в том числе и сайдбар. По сути у меня в сайдбаре всего 2 ссылки, и поэтому я не долго думая решил запихнуть его в блок, отвечающий за хедер и сместить его таким образом, чтобы он смотрелся как сайдбар. Сделал я это блок выше всего, т.е. парящим как бы над всеми остальными. На главной странице все смотрится отлично, но когда идет переход с главной странички на другую сайдбар наезжает на контент, т.е. закрывает часть текста. Вот я бы и хотел сделать так, чтобы ширина блока в котором находится контент на главной была 950px а на всех остальных была чуть уже.

В оригинальном сайте страницы не динамические поэтому и работать с ними проще, а здесь все по-другому.

Скриншоты, для того чтобы было более понятно что имеется ввиду.

1.) то что у меня на главной происходит

11083645.jpg

2.) то что происходит на других страницах

21083646.jpg

3.) То как должно быть (первоисточник)

31083647.jpg

Edited by maliyshock
Link to comment
Share on other sites

  • 0

Так не проще ли сделать это средствами CSS? На главной странице у body есть класс "home". Задайте для #content ширину, которая должна быть на всех страницах, а для #content, находящегося внутри .home - ширину контента на главной

Link to comment
Share on other sites

  • 0

Опять же не по сабжу...

:facepalmxd:

у меня подключен скрипт, который позволяет красиво открывать и просматривать картинки. Скрипт называется fancybox. Так вот блоки которые лежат в хедере, не все, а только блок меню и блок который отвечающий за сайдбар, отображаются по верх картинки. Т.е. все детали затемнены и на заднем плане, а эти нет.

Скриншот ниже

11083852.jpg

можно ли это как-то исправить?

Edited by maliyshock
Link to comment
Share on other sites

  • 0

Извините если надоедаю с глупыми вопросами, сегодня на свежую голову лучше думается нежели вчера.

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy