Intereting Posts
Получение «Неустранимая ошибка: вызов неопределенной функции wp_cache_get () в опции.php» после обновления плагина кэша Запрос Ajax не возвращается в класс Динамические классы тела на основе текущей страницы Изменение корневого каталога WordPress + изменение каталога темы Каталог назначения для потоковой передачи файлов не существует или недоступен для записи рейтинг статей для внутренних целей Заменить ссылку с формой для передачи переменных в javascript / ajax WordPress Пользовательские изображения Gravatar не отображаются. Загрузка по умолчанию вместо Крюк для обновления постоянной ссылки Обновление содержимого сообщения на лицевой стороне Как WordPress может изменять локаль без использования setlocale Проводка в элемент списка с помощью OptionTree Удалить ссылку «Продолжить чтение» Только из раздела «Тизер» Как отобразить дату, когда была изменена папка каталога на ftp Отображать конкретную страницу (это дочерний) контент на родительской странице

передача '&' в обратной функции add_filter

У меня есть строка в моей возвращаемой функции add_filter в wordpress.

 add_filter('the_content', 'my_drama_func'); function my_drama_func () { return "function getthrough() { jQuery.ajax({ url: 'ajax/ajax.php', type: 'POST', data: 'url='+url+'&un=0&pretty=1&mega=0&click=true', beforeSend: function(b) {..snip..}, error: function(e) {}, success: function(s) {} }); }"; } 

но на странице содержимого страницы просмотра он доступен как: –

 jQuery.ajax({ ....ajax rest code... //Below line is giving trouble. :( data: 'url='+url+'&un=0&pretty=1&mega=0&click=true', ...ajax rest code.. }); 

Но мое требование – передать его так же, как и с «&», а не какой-либо особый характер html.

Как это можно достичь.

благодаря

Во-первых, вы возвращаете jQuery через PHP без тега скрипта, поэтому вы должны, по крайней мере, использовать это:

 add_filter('the_content', 'my_drama_func'); function my_drama_func () { return "<script>function getthrough() { jQuery.ajax({ url: 'ajax/ajax.php', type: 'POST', data: 'url='+url+'&un=0&pretty=1&mega=0&click=true', beforeSend: function(b) {..snip..}, error: function(e) {}, success: function(s) {} }); }</script>"; } 

Надеюсь, вы поймете, используя фильтр на the_content и не возвращая исходное содержимое, вы делаете это так, чтобы в любой записи больше не отображался фактический контент, а только ваш jQuery. Если вы просто хотите, чтобы jQuery был добавлен к контенту, вы должны хотя бы добавить jQuery к исходному контенту:

 add_filter('the_content', 'my_drama_func'); function my_drama_func ( $content ) { $append_jquery = "<script>function getthrough() { jQuery.ajax({ url: 'ajax/ajax.php', type: 'POST', data: 'url='+url+'&un=0&pretty=1&mega=0&click=true', beforeSend: function(b) {..snip..}, error: function(e) {}, success: function(s) {} }); }</script>"; return $content . $append_jquery; } 

Вы также можете использовать PHP для вывода строки url следующим образом:

 add_filter('the_content', 'my_drama_func'); function my_drama_func ( $content ) { $url_args = "&un=0&pretty=1&mega=0&click=true"; $append_jquery = "<script>function getthrough() { jQuery.ajax({ url: 'ajax/ajax.php', type: 'POST', data: 'url='+url+'" . $url_args . "', beforeSend: function(b) {..snip..}, error: function(e) {}, success: function(s) {} }); }</script>"; return $content . $append_jquery; } 

Но это просто исправление, которое я могу дать на основе ограниченных деталей, которые вы предоставили. Что вы на самом деле пытаетесь сделать? Это может (и, вероятно, нет) правильный способ сделать это, но он должен работать