Syntax error unrecognized expression перевод

Syntax error unrecognized expression перевод mstdmstd Дата 14.6.2013, 10:26 (ссылка) | (нет голосов) Загрузка . Опытный Профиль Группа: Участник Сообщений: 394 Регистрация: 30.12.2008 Репутация: нет Всего: нет на странипе http://www.oherron.com/main/product_listin. ows_in_pager/20Периодически выскакивает ошибка «Ошибка: uncaught exception: Syntax error, unrecognized expression: .»Например если в группе слева «Size» выбрать пару элементов(странице перегрузится при каждом выборе размера) […]

Syntax error unrecognized expression перевод

Опытный

Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет

на странипе http://www.oherron.com/main/product_listin. ows_in_pager/20
Периодически выскакивает ошибка «Ошибка: uncaught exception: Syntax error, unrecognized expression: .»
Например если в группе слева «Size» выбрать пару элементов(странице перегрузится при каждом выборе размера)
и потом нажать на появившейся ссылке «Clear Filter».Ошибка похоже выскакивает при переоткрытии страницы
Я искал в коде строку вида

но такой не оказалось.
В чем может быть проблема?

mstdmstd
Дата 14.6.2013, 10:26 (ссылка) | (нет голосов) Загрузка .
CruorVult
Дата 14.6.2013, 17:15 (ссылка) | (нет голосов) Загрузка .

Опытный

Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28

Код
jQuery(«#finish_filter_NYLON.»).hover(function() <
if (document.getElementById(«finish_filter_NYLON.» ).checked==true) <
document.getElementById(«finish_filter_div_NYLON.»).style.backgroundPosition = ‘0 -45px’;
> else <
document.getElementById(«finish_filter_div_NYLON.»).style.backgroundPosition = ‘0 -15px’;
>
>,function() <
if (document.getElementById(«finish_filter_NYLON.» ).checked==true) <
document.getElementById(«finish_filter_div_NYLON.»).style.backgroundPosition = ‘0 -30px’;
> else <
document.getElementById(«finish_filter_div_NYLON.»).style.backgroundPosition = ‘0 0’;
>
>);

Думаю, не стоит использовать точку в id элемета

Опытный

Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет

mstdmstd
Дата 15.6.2013, 09:20 (ссылка) | (нет голосов) Загрузка .
akizelokro
Дата 16.6.2013, 12:01 (ссылка) | (нет голосов) Загрузка .

Крокодил

Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 2
Всего: 5

Попробуй ещё Dragonfly, встроенный в Opera

Этот ответ добавлен с нового Винграда — http://vingrad.com

CruorVult
Дата 17.6.2013, 10:00 (ссылка) | (нет голосов) Загрузка .

Опытный

Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28

Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »

[ Время генерации скрипта: 0.1155 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Источник

Читайте также:  Bad request exception перевод

Adblock
detector


Форум программистов Vingrad

Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы
Создание опроса
> Не могу отловить ошибку unrecognized expression: . 

:(

   

Опции темы

mstdmstd
Дата 14.6.2013, 10:26 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет

Всем привет,

на странипе http://www.oherron.com/main/product_listin…ows_in_pager/20
Периодически выскакивает ошибка «Ошибка: uncaught exception: Syntax error, unrecognized expression: .»
Например если в группе слева «Size» выбрать пару элементов(странице перегрузится при каждом выборе размера)
 и потом нажать на появившейся ссылке «Clear Filter».Ошибка похоже выскакивает при переоткрытии страницы
Я искал в коде строку вида

Код

 jQuery('.') 

но такой не оказалось.
В чем может быть проблема?

PM MAIL   Вверх
CruorVult
Дата 14.6.2013, 17:15 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28

Если включить дебагер, можно увидеть что ошибка здесь 

Код

jQuery("#finish_filter_NYLON.").hover(function(){
        if (document.getElementById("finish_filter_NYLON." ).checked==true) {
          document.getElementById("finish_filter_div_NYLON.").style.backgroundPosition = '0 -45px';
        } else {
          document.getElementById("finish_filter_div_NYLON.").style.backgroundPosition = '0 -15px';
        }
      },function(){
        if (document.getElementById("finish_filter_NYLON." ).checked==true) {
          document.getElementById("finish_filter_div_NYLON.").style.backgroundPosition = '0 -30px';
        } else {
          document.getElementById("finish_filter_div_NYLON.").style.backgroundPosition = '0 0';
        }
      });

Думаю, не стоит использовать точку в id элемета

PM MAIL Skype   Вверх
mstdmstd
Дата 15.6.2013, 09:20 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет

Спасибо  smile 
А подскажите, пожалуйста, а какой дебагер Вы используете ? В моем линуксовом FF 17.0.6 в консоли отображается ошибка -но при клике на ней на строку ошибки она не пререводит…

PM MAIL   Вверх
akizelokro
Дата 16.6.2013, 12:01 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Крокодил
**

Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 2
Всего: 5

Попробуй ещё Dragonfly, встроенный в Opera

Этот ответ добавлен с нового Винграда — http://vingrad.com

PM MAIL   Вверх
CruorVult
Дата 17.6.2013, 10:00 (ссылка)
| (нет голосов)
Загрузка ... Загрузка …




Быстрая цитата

Цитата

Опытный
**

Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 13
Всего: 28

Не важно какой дебагер. 
Включаете режим «Pause on all exceptions»(например в Chrome) и смотртите по коллстеку откуда откуда пришла ошибка.

PM MAIL Skype   Вверх



















Ответ в темуСоздание новой темы
Создание опроса

Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.

 

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »

MadHatter

160 / 146 / 57

Регистрация: 15.06.2013

Сообщений: 1,065

1

16.01.2014, 01:18. Показов 11977. Ответов 2

Метки нет (Все метки)


Здравствуйте. Столкнулся с проблемой. Есть такой код:

Javascript
1
2
3
4
for (var j = 0; j < 6; j=j+6) {
    var aaa = "'.every_new_" + j + "'";
                 alert ($(aaa).height());
    }

Переменная aaa — string. В консоли выводится ошибка:
Error: Syntax error, unrecognized expression: ‘.every_new_0’
throw new Error( «Syntax error, unrecognized expression: » + msg );
Подскажите пожалуйста, что означает эта ошибка и что не так в выборке?



0



Lazy_Den

3322 / 2842 / 1423

Регистрация: 15.01.2014

Сообщений: 6,170

16.01.2014, 02:17

2

Перемудрили с кавычками.

Javascript
1
var aaa = '.every_new_' + j;

И я бы вам предложил немного другой способ — не отбирать элементы в цикле, а перебирать массив элементов, отсортировывая их по заданному условию. Например, таким способом.

Javascript
1
2
3
4
var paramsHeight = $('div[class^=every_new_]').map(function(i,el){
    if(i < 6) return $(el).height();
}).get();
console.log(paramsHeight);

Только я не совсем понял, как у вас сочитается условие и инкремент в цикле: j < 6 и j = j + 6 (или j += 6) == одна итерация



0



160 / 146 / 57

Регистрация: 15.06.2013

Сообщений: 1,065

18.01.2014, 11:30

 [ТС]

3

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



0



Содержание

  • 1 Ключи безопасности
  • 2 Дочерняя тема
  • 3 Пишем плагин
  • 4 Сделать так, чтобы на главной странице выводилась статичная страница (Page)
  • 5 Шаблон страницы
  • 6 Вставляем меню
  • 7 Определяем тип страницы
    • 7.1 главная страница
  • 8 Перевод темы
  • 9 Вывод вместо поста шести миниатюр первых шести картинок в этом посте
  • 10 Защита почтовой ссылки
  • 11 Шорткоды
    • 11.1 Примеры кода
  • 12 Восстановление пароля
  • 13 Flash перекрывает элементы страницы (фото, меню…)
  • 14 Оптимизация
    • 14.1 Hyper Cache
    • 14.2 Использование функции Flush НЕ ДЕЛАЙТЕ ТАК НЕ РАБОТАЕТ КЭШ ПЛАГИНЫ
    • 14.3 Количество запросов к базе
  • 15 Поиск по страницам
  • 16 Карта сайта
    • 16.1 Решение конфликта Dagon Design Sitemap Generator и qTranslate
    • 16.2 Убираем часть html кода для IE
    • 16.3 Число ревизий (редакций)
    • 16.4 Allow Javascript in Posts and Pages
    • 16.5 Голосование плагин WP-Polls
  • 17 Отключение скрипта wp-cron.php
  • 18 Javascript и jQuery
    • 18.1 Подключение своего js скрипта
    • 18.2 Uncaught TypeError: undefined is not a function
    • 18.3 Передача переменных из WP скрипту
  • 19 Глюки IE8
  • 20 Strict Standards: Declaration of … should be compatible with ..
  • 21 Плагины безопасности
  • 22 Видео
  • 23 Ошибки
    • 23.1 Ошибка js Uncaught Error: Syntax error, unrecognized expression: a[href^=#]

Ключи безопасности

Поменять ключи безопасности в файле wp-config.php можно здесь

Дочерняя тема

Описание дочерний темы. Позволяет вносить изменения в дизайн и поведение темы, но иметь возможность так же получать обновления родительской темы.

Пишем плагин

Написание плагина.

Ninja Forms WordPress — мой пример дочернего плагина.

Сделать так, чтобы на главной странице выводилась статичная страница (Page)

Для этого находим начало цикла (loop) в файле index.php или home.php темы (или что у вас там есть), строка вида:

<?php while (have_posts()) : the_post(); ?>

И перед ней вставляем строку:

<?php query_posts('page_id=1'); ?>

где 1 — id требуемой страницы
или строку вида:

<?php query_posts('pagename=myhome'); ?>

где myhome — имя требуемой страницы
Подробности тут.

Шаблон страницы

Копируем в шаблоне файл страницы например /wp-content/themes/имя_темы/page.php и называем например /wp-content/themes/имя_темы/pagemy.php
вставляем в начало:

<?php
/*
Template Name: My Page
*/
?>

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

Вставляем меню

Используем функцию wp_nav_menu, например так:

<?php wp_nav_menu('menu=Menu&container=&menu_class=sf-menu sf-js-enabled'); ?>

Читаем тут.

Определяем тип страницы

главная страница

if (is_home()){
 echo "Вместо echo ставим, что хотим видеть на главной странице";
}

ВНИМАНИЕ!!! WordPress меняет тип страницы, после использования query_posts!!!

Для того что бы этого избежать используем следующую конструкцию:

$is_home = is_home();
..............
if  ($is_home) { echo "Вместо echo ставим, что хотим видеть на главной странице"; }

Если требуется использовать в разных файлах, то еще меняем конструкцию:
Самый первый файл, например index.php или header.php:

global $is_home;
$is_home = is_home();

Там где требуется, например sidebar.php:

global $is_home;
if  ($is_home) { echo "Вместо echo ставим, что хотим видеть на главной странице"; }

Перевод темы

Для поиска русских слов выполним в каждой папке:

egrep -i "([а-я]* *)*" -o -h -r ./*.php | grep -v "^ *$" | sed "s/^ *//" | sed "s/ *$//" | sort | uniq

Для поиска файлов содержащие русские слова выполним в каждой папке:

egrep -i [а-я] -r ./*.php

Для перевода темы мы должны найти все строки которые мы хотим перевести и заменить требуемую строку <строка> на конструкцию вида:
внутри php блока:

__('<строка>', 'themename-theme')

вне php блоков:

<?php _e('<строка>', 'themename-theme'); ?>

themename-это название темы.

  • Затем устанавливаем программу Poedit.
  • Запускаем poedit. Затем Файл -> Создать каталог
  • На первой вкладке Информация о проекте главным образом выбираем правильную кодировку, остальное на своё усмотрение.
  • На второй вкладке Пути указываем путь к папке с исходным кодом темы (для ускорения процесса, можно скопировать только структуру папок содержащих php-файлы и сами php-файлы в произвольную папку на собственном компьютере), добавляем путь (кнопка «Новый путь») в который ставим точку («.» — текущая директория)
  • Ключевые слова — добавляем:
__
_e
  • Нажимает Ок.
  • После того как программа просканирует каталог выдаст список исходных строк, сохраним «Сохранить как» в папку например language, если тема была на английском, то назовем файл en_US.po и получим два файла en_US.mo и en_US.po. Затем переведем все строки и сохраним «Сохранить как», если переводили на русский, то назовем ru_RU.po.
  • Теперь копируем папку language в корневую папку нашей темы.
  • В корневой папке темы находится файл functions.php, добавляем в его начало:
load_theme_textdomain('themename-theme', get_template_directory() . '/language');

themename-theme — это то, что мы указывали в «__» и «_e».

Вывод вместо поста шести миниатюр первых шести картинок в этом посте

Меняем нечто подобное:

<p><?php the_content(); ?></p>

На:

<p>
 <?php
 $szPostContent = $post->post_content;
 $szSearchPattern = '/<img.+src="(.+.jpg)".*>/i';
 // Запускаем preg_match_all для сохранения всех изображений в $aPics
 preg_match_all( $szSearchPattern, $szPostContent, $aPics );
 // Проверяем на количество
 $iNumberOfPics = count($aPics[0]);
 if ( $iNumberOfPics > 0 ) {
 //Вывод изображения
     for ( $i=0; (($i < $iNumberOfPics)&&($i < 6)) ; $i++ ) {
          echo "<img src="". $aPics[1][$i] . "" style="height: 100px; margin: 8px;">";
     };
 };
 ?>
 </p>

Защита почтовой ссылки

<script language="JavaScript">
var login  = 'mymaillog';
var server = 'mydomain.ru';
var email  = login+'@'+server;
var url = 'mailto:'+email;
document.write('<a href="'+url+'">'+email+'</a>');
</script>

Шорткоды

Вызов коротких вставок прямо из текста блога. Оформляется в квадратных скобках:

[mailto]E-mail[/mailto]

Результатом может служить например такой кусок кода в html:

<p class="email">
  <script language="JavaScript">	
   var login  = ''.$email_name.'';
   var server = ''.$email_doman.'';
   var email  = login+'@'+server;
   var url = 'mailto:'+email;
   document.write('<a href="'+url+'">'+email+'</a>');
  </script>
 </p>

Берем здесь: http://codex.wordpress.org/Shortcode_API

Примеры кода

Пример шорткода поддерживающий вложение других шорткодов (этот вкладывать нельзя)
Этот шорткод выводит содержимое в зависимости от времени в требуемом часовом поясе.

//[time_show_shortcode hour_start="9" hour_stop="10"]My block[/time_show_shortcode]
function time_show_shortcode_func( $atts, $content = null ) {
  extract( shortcode_atts( array(
     'hour_start' => ,
     'hour_stop' => ,
     ), $atts ) );

 //один из параметров не задан
 if ( $hour_start == "" || $hour_stop=="" ) { return ; }

 //Переменные в цыйфры
 $hour_start=(int)$hour_start;
 $hour_stop=(int)$hour_stop;

 //Получаем текущий час
 date_default_timezone_set('Asia/Novosibirsk'); 
 $hour = date('G');
 
 //час начала периода меньше или равен часу окончания
 if ( ( $hour_start <= $hour_stop ) && ( $hour_start <= $hour && $hour <= $hour_stop ) ) { return do_shortcode($content); }
 
 //час начала периода больше или равен часу окончания (например 23 - 4)
 if ( ( $hour_start > $hour_stop ) && ( $hour_start <= $hour || $hour <= $hour_stop ) ) { return do_shortcode($content); }

  return ;
}
add_shortcode( 'time_show_shortcode', 'time_show_shortcode_func' );

Восстановление пароля

http://codex.wordpress.org/%D0%A7%D0%90%D0%92%D0%9E/%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F

Flash перекрывает элементы страницы (фото, меню…)

Решение:

Было:

<object style="height: 390px; width: 640px">
<param name="movie" value="http://www.youtube.com/v/4diwpZmc0bU">
<param name="allowFullScreen" value="true">
<param name="allowScriptAccess" value="always">
<embed src="http://www.youtube.com/v/4diwpZmc0bU"
type="application/x-shockwave-flash" allowfullscreen="true"
allowScriptAccess="always" width="640" height="360">
</object>

Надо поменять:

<object style="height: 390px; width: 640px">
<param name="wmode" value="opaque">
<param name="movie" value="http://www.youtube.com/v/4diwpZmc0bU">
<param name="allowFullScreen" value="true">
<param name="allowScriptAccess" value="always">
<embed wmode="opaque" src="http://www.youtube.com/v/4diwpZmc0bU"
type="application/x-shockwave-flash" allowfullscreen="true"
allowScriptAccess="always" width="640" height="360">
</object>

Оптимизация

Hyper Cache

Используйте плагин Hyper Cache, очень ускоряет работу WP

Для того что бы ускорить работу плагина с IIS надо добавить в «Кэширование выводимых данных»:

Расширение имени файла: .dat 
Кэширование в режиме пользователя x
Кэширование в режиме ядра x

Использование функции Flush НЕ ДЕЛАЙТЕ ТАК НЕ РАБОТАЕТ КЭШ ПЛАГИНЫ

При обращении пользователя к сайту, конечному серверу время, чтобы полностью загрузить страницу. Все это время окно браузера остается пустым, ожидая получения информации. В PHP имеется функция flush(), которая позволяет загружать полученную с сервера информацию по частям, и она постепенно будет отображаться в окне браузера, пока остальная информация все еще загружается с сервера. Это особенно актуально для сильно загруженных конечных серверов или сложного интерфейса.

Размещать эту функцию лучше всего сразу после HEAD, так как HTML-контент заголовка обычно легче всего открыть, кроме того, в него можно добавить файлы CSS и JavaScript, которые будут загружаться параллельно с остальным контентом страницы.

Пример:

... 
</head>
<?php flush(); ?>
<body>
... 

Проведенные Yahoo! исследования демонстрируют высокую эффективность данного метода оптимизации.

Количество запросов к базе

В footer.php добавить:

<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
</body>

Поиск по страницам

Находим в файле search.php темы строки вида:

$args=array(
  'post_type' => array('post','news', 'media'),
  's' => $s,
  'post_status' => 'publish',
  'paged' => $paged
);

Перед:

$wp_query = new WP_Query($args);

И меняем на:

$args=array(
  'post_type' => array('page', 'post','news', 'media'),
  's' => $s,
  'post_status' => 'publish',
  'paged' => $paged
);

Карта сайта

Плагин Dagon Design Sitemap Generator берем здесь.

вставляем в страницу карты сайта:

<!-- ddsitemapgen -->

Если надо вставить в шаблон то:

<?php echo ddsg_create_sitemap(); ?>

Решение конфликта Dagon Design Sitemap Generator и qTranslate

Меняем в файле sitemap-generator/sitemap-generator.php строку:

$the_title = htmlspecialchars(trim($page_data[$p]['title']));

на

$the_title = htmlspecialchars(trim(__($page_data[$p]['title'])));

а строку:

$the_title = htmlspecialchars(trim($post_data[$p]['title']));

на

$the_title = htmlspecialchars(trim(__($post_data[$p]['title'])));

Убираем часть html кода для IE

В связи с тем, что у IE есть проблемы с определенным кодом, или скриптами, можно убрать часть html именно для IE.

Например уберем для IE6 надпись:

<!--[if gt IE 6]><!--> 
 IE6 - отстой!
<!-- <![endif]-->

Для всех версий IE:

<!--[if !IE]><!--> 
 Все IE - отстой!
<!-- <![endif]-->

Число ревизий (редакций)

Для запрета создания ревизий в файл wp-config.php добавляем:

define('WP_POST_REVISIONS', false);

Если нужно просто изменить их количество (по умолчанию 25) в файл wp-config.php добавляем:

define('WP_POST_REVISIONS', 3);

Allow Javascript in Posts and Pages

Никаких настроек в плагине нет. Чтобы вставить нужный javascript в запись достаточно заключить текст этого скрипта в теги [js] и [/js] в место <script type=»text/javascript»> и </script>.

Пример:

[js]
function time() {
   var time=new Date();
   document.clock.date.value=time.toLocaleString();
   setTimeout('fulltime()',500)
}
time();
[/js]

Голосование плагин WP-Polls

В текущей версии 2.64 не работает с Hyper Cache, решение не очень красивое, но работает. В файле wp-polls/wp-polls.php ищем строки :

// Display Poll Voting Form

$temp_pollvote .= «

n»;

и добавляем

$temp_pollvote .= "<a href="#ViewPollResults" onload="poll_result(".$poll_question_id."); return false;"></a>n";

Тем самым заставляем в любом случае показать режим голосования

И еще ищем

} else {
        printf(__('You Had Already Voted For This Poll. Poll ID #%s', 'wp-polls'), $poll_id);

и меняем на

} else {
        echo display_pollresult($poll_id, 0, false);

В случае если человек голосовал, то просто выводим результаты

Также убираем кусок кода

// Verify Referer
/* if(!check_ajax_referer('poll_'.$poll_id.'-nonce', 'poll_'.$poll_id.'_nonce', false))
                {
			_e('Failed To Verify Referrer', 'wp-polls');
			exit();
		}
*/

Отключение скрипта wp-cron.php

Бывает, что встроенный cron дает большую нагрузку, если вы его не используете, то можно его отключить добавив в файл wp-config.php строку:

define(‘DISABLE_WP_CRON’, true);

Javascript и jQuery

Подключение своего js скрипта

Если скрипт зависит от других скриптов. Читать тут. А тут еще примеры.

Мой пример:

#Подключаем скрипт масштабирования карты 
function rwdImageMaps_enqueue_scripts(){
	if ( is_home() ) {
		wp_register_script( 'rwdImageMaps', get_template_directory_uri() . '/js/jquery.rwdImageMaps.min.js', array( 'jquery' ), '1.10', true );
		wp_enqueue_script( 'rwdImageMaps' );
	}
}
add_action('wp_enqueue_scripts', 'rwdImageMaps_enqueue_scripts');

Вкратце:

  1. is_home() — этот нужен только на главной. Можно is_single(), is_admin() и т.д. можно использовать отрицание !is_admin() не в админке.
  2. rwdImageMaps — имя которое мы присваиваем скрипту
  3. get_template_directory_uri() . ‘/js/jquery.rwdImageMaps.min.js’ — путь до скрипта
  4. array( ‘jquery’ ) — массив скриптов от которых зависит этот скрипт (здесь от jquery)
  5. 1.10 — текущая версия скрипта
  6. true — поместить скрипт в footer, если false то в header.

Uncaught TypeError: undefined is not a function

После обновления jQuery стала появляться ошибка в скриптах:

 Uncaught TypeError: undefined is not a function

Поменялся синтаксис, решение, конструкцию вида:

$(document).ready(function () {

меняем на:

jQuery(document).ready(function () {

меняем везде.

Еще вариант, в начале скрипта добавляем:

var $=jQuery.noConflict();

Передача переменных из WP скрипту

[1]

Например надо передать путь темы, в function.php:

wp_register_script( 'my-script', 'myscript_url' );
 wp_enqueue_script( 'my-script' );
 $translation_array = array( 'templateUrl' => get_stylesheet_directory_uri() );
 //after wp_enqueue_script
 wp_localize_script( 'my-script', 'object_name', $translation_array );

В скрипте можно использовать:

var templateUrl = object_name.templateUrl;

Глюки IE8

Выяснился забавный глюк IE8 слетали горизонтальные меню и были другие проблемы в верстке когда в html-документе в начале первой строки перед

<!DOCTYPE html>

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

Оказалось, что символы случайно были в начале php-файла подключаемого через functions.php. Символы были до <?php Очень долго искал  :)

Strict Standards: Declaration of … should be compatible with ..

Обновил WP и вылезла ошибка «Strict standards: Declaration of topmenu_walker::start_el() should be compatible with Walker_Nav_Menu»

Ищем в теме строку:

function start_el(&$output, $item, $depth, $args)

меняем на:

function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0)

А строку

$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args);

меняем на:

$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args, $id );

Нашел на форуме.

Плагины безопасности

  1. Самый простой плагин контроля изменения файлов WordPress File Monitor
  2. Ограничение попыток авторизации Limit Login Attempts

Видео

Для вставки видео используем шорткод:


Видео файл должен быть на сервере.

Ошибки

WP может обновится или поставить тему и т.п. требует логин пароль FTP. Решаем:

Для начала попробуем запретить использовать ftp, в файл wp-config.php добавим:

/** no ftp updating plugins*/
define('FS_METHOD', 'direct');

пробуем, и видим ошибку:

An error occurred while updating twentythirteen: Download failed.
Could not open handle for fopen() to /tmp/twentythirteen.1.6.tmp

Видим, что нас хостинг не пускает в свою /tmp директорию, ок поменяем на свою, для этого добавим строки, убрав строики из предыдущего примера:

/** Зададим tmp дерикторию */
define( 'WP_TEMP_DIR' , ABSPATH . 'wp-content/tmp/' );

Создаем на хостинге директорию:

wp-content/tmp/ 

Наслаждаемся  :)

Ошибка js Uncaught Error: Syntax error, unrecognized expression: a[href^=#]

После обновления jQuery до версии 1.12.3 (WordPress 4.5) Перестали работать Tabs и появилась ошибка: Uncaught Error: Syntax error, unrecognized expression: a[href^=#]

Как выяснилось поменялся синтаксис и теперь в место $(‘a[href^=http://]’) надо использовать $(‘a[href^=»http://»]’)

Так как у меня в теме используется jquery.tools.min.js (jQuery Tools v1.2.6), то нашел и заменил следующие строки:

panes.find("a[href^=#]").unbind("click.T");

Заменил на

panes.find('a[href^="#"]').unbind("click.T");

а

panes.find("a[href^=#]").bind("click.T", function (e) {

на

panes.find('a[href^="#"]').bind("click.T", function (e) {

Все заработало.

Понравилась статья? Поделить с друзьями:
  • System argumentexception как исправить
  • Syntax error unrecognized expression nan
  • System agent initialization error
  • Syntax error unrecognized expression a href not href
  • Sysprep windows 7 windows произошла неустранимая ошибка