Jump to content
Elliot

Текстовый редактор в описании рубрики Экранирует кавычки

Recommended Posts

Здравствуйте друзья!

Столкнулся с проблемой и не понимаю как она появилась и как ее решить.

В описании рубрики "Изменить" есть текстовый редактор как в обычной записи. Это очень удобно, можно категорию красиво оформить с картинками и т.д.

Но вот проблема. 

Редактор экранирует двойные и одинарные кавычки

<a href=\"#\">Hello</a>

Если еще раз сохранить, то то снова будет экранирование и не зависимо от того что кавычки уже экранированы.

В итоге, нельзя вставить картинку, видео, и даже взять в кавычки какое-то  слово. Сохраняешь запись и видишь как все экранировалось.

Но самое смешное, это происходит только в описании категории((

Версия WP 4.9.7

 

Подскажите пожалуйста, как решить это проблему?

Share this post


Link to post
Share on other sites

Попробуйте в функциональный файл темы добавить:

remove_filter('category_description', 'wptexturize');

Share this post


Link to post
Share on other sites
5 минут назад, files сказал:

Попробуйте в функциональный файл темы добавить:


remove_filter('category_description', 'wptexturize');

К сожалению, не помогло, по прежнему экранирует(

Вот что выходит после второго сохранения текста

<a href="\&quot;\\&quot;#\\&quot;\&quot;">hello</a>

 

Share this post


Link to post
Share on other sites
1 минуту назад, files сказал:

Тогда попробуйте


add_filter ('category_description', 'wptexturize');

 

Тоже не помогло, как будто и не добавлял в файл функции...

Share this post


Link to post
Share on other sites
6 минут назад, files сказал:

Попробуйте отключить в php.ini http://php.net/manual/ru/security.magicquotes.disabling.php

Указал в файле .htaccess этот код php_flag magic_quotes_gpc Off

не помогло, как экранировало, так и экранирует((

Share this post


Link to post
Share on other sites
29 минут назад, files сказал:

Попробуйте на время теста, поставить новую тему: протестируйте внесения нового текста.

Активировал стандартную тему, но это ничего не изменило, по прежнему экранирует кавычки...

Share this post


Link to post
Share on other sites

По дефолту там не может быть расширенного редактора в рубриках, это стоит плагин какой то, вот в плагине логику и ищите где добавляет

Share this post


Link to post
Share on other sites

Проблема будет лишь на стороне magic_quotes_gpc (в старых версиях PHP).

Как вариант, смените версию PHP для своего сайта на одну из последних > 7.00

Share this post


Link to post
Share on other sites
16 часов назад, kuzovbmw сказал:

По дефолту там не может быть расширенного редактора в рубриках, это стоит плагин какой то, вот в плагине логику и ищите где добавляет

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

Выяснилось что этот косяк делает плагин WP Multilang 2.2.6.

Как решить этот косяц? Я даже не знаю что в нем искать(

Share this post


Link to post
Share on other sites
1 минуту назад, kuzovbmw сказал:

Как вариант поставить аналог

Это не возможно, добавлено много товаров, записей, страниц(

Share this post


Link to post
Share on other sites

В файле wpm-core-function.php (\wp-content\plugins\wp-multilang\includes/) попробуйте закомментировать с 239 по 257 строку включительно. Не забудьте сделать бэкап

Share this post


Link to post
Share on other sites
55 минут назад, petroff сказал:

В файле wpm-core-function.php (\wp-content\plugins\wp-multilang\includes/) попробуйте закомментировать с 239 по 257 строку включительно. Не забудьте сделать бэкап

Закомментировал этот код что вы говорите 

function wpm_attribute_escape( $string ) {
	if ( 'GET' === $_SERVER['REQUEST_METHOD'] ) {
		$string = wp_specialchars_decode( $string, ENT_QUOTES );

		if ( isJSON( $string ) ) {
			$array = json_decode( $string, true );
			$array  = wpm_translate_value( $array );
			$string = wp_json_encode( $array );
		} else {
			$string = wpm_translate_string( $string );
		}

		$string = _wp_specialchars( $string, ENT_QUOTES );
	}

	return $string;
}

add_filter( 'attribute_escape', 'wpm_attribute_escape', 5 );

Но это ничего не дало, все равно экранирует(

Share this post


Link to post
Share on other sites
7 минут назад, Elliot сказал:

Но это ничего не дало, все равно экранирует(

Чем описания рубрик выводятся? Плагин какой-то?

Share this post


Link to post
Share on other sites
12 минуты назад, petroff сказал:

Чем описания рубрик выводятся? Плагин какой-то?

Когда я отключил все плагины, расширенный редактор исчез, сейчас выясню что его выводит в рубриках.

Share this post


Link to post
Share on other sites
32 минуты назад, petroff сказал:

Чем описания рубрик выводятся? Плагин какой-то?

Выяснил, расширенный редактор в описании рубрик устанавливает плагин Yoast SEO 8.1.1 я его отключил, и попробовал сохранить ссылку при включенном WP Multilang.

Кавычки экранируются, потом я закомментировал эту часть кода что вы сказали, все равно, это не помогло.

 

Но если обратно включаю Yoast SEO и отключаю WP Multilang то ссылка сохраняется нормально...

Share this post


Link to post
Share on other sites

Х.з, мне уже кажется, что эти бэкслеши будут даже если сайт удалить. Я смотрю WP Multilang проблематичный плагин, там под многие плагины есть свой фиксфайл. Сейчас проще поставить all in one seo, а для создания описания рубрик поискать другой плагин или вроде на wp-kama есть код для этого

Share this post


Link to post
Share on other sites
10 минут назад, petroff сказал:

Х.з, мне уже кажется, что эти бэкслеши будут даже если сайт удалить. Я смотрю WP Multilang проблематичный плагин, там под многие плагины есть свой фиксфайл. Сейчас проще поставить all in one seo, а для создания описания рубрик поискать другой плагин или вроде на wp-kama есть код для этого

Так все проблема в том, что косяк только в WP Multilang.

я отключил Yoast SEO и с рубрик пропал расширенный редактор, но проблема осталась, но если отключить Multilang то слэши не устанавливаются...

Share this post


Link to post
Share on other sites

А вы чё же, на форуме поддержки плагина задаете вопросы на английском, а буржунет покурить не удосужились?!

Для решения проблемы можно закомментировать все, что связано с magic_quotes в wp-settings.php и load.php, но за такое решение на забугорных форумах карму минусуют

Можно в function.php добавить такой код

add_action( 'init', 'unslash_gpc' );
function unslash_gpc() {
    $_GET       = array_map('stripslashes_deep', $_GET);
    $_POST      = array_map('stripslashes_deep', $_POST);
    $_COOKIE    = array_map('stripslashes_deep', $_COOKIE);
    $_SERVER    = array_map('stripslashes_deep', $_SERVER);
    $_REQUEST   = array_map('stripslashes_deep', $_REQUEST);
}

Но все описания категорий нужно будет заново редактировать

Share this post


Link to post
Share on other sites
8 минут назад, petroff сказал:

А вы чё же, на форуме поддержки плагина задаете вопросы на английском, а буржунет покурить не удосужились?!

Для решения проблемы можно закомментировать все, что связано с magic_quotes в wp-settings.php и load.php, но за такое решение на забугорных форумах карму минусуют

Можно в function.php добавить такой код


add_action( 'init', 'unslash_gpc' );
function unslash_gpc() {
    $_GET       = array_map('stripslashes_deep', $_GET);
    $_POST      = array_map('stripslashes_deep', $_POST);
    $_COOKIE    = array_map('stripslashes_deep', $_COOKIE);
    $_SERVER    = array_map('stripslashes_deep', $_SERVER);
    $_REQUEST   = array_map('stripslashes_deep', $_REQUEST);
}

Но все описания категорий нужно будет заново редактировать

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

А это решение не повредит сайту и безопасности?

Я установил код и все работает хорошо, и рубрики отредактировать лучше, чем все товары)

Спасибо вам!

Share this post


Link to post
Share on other sites
1 час назад, petroff сказал:

Я не знаю, @files придет, может подскажет

Буду ждать, а то я чита что экранирование это защита от сюл иньекций...

Share this post


Link to post
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.

Guest
Reply to this topic...

×   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.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...