WordPress | Конвертировать #038; в

#php #wordpress #permalinks

#php #wordpress #постоянные ссылки

Вопрос:

Мне нужно передать переменную внутри постоянной ссылки, которая приведет меня к моему пользовательскому сообщению, а затем выполнить $_GET эту переменную внутри ввода моего cf7.

Единственная проблема WordPress кодирует amp; в #038;

Я попытался расшифровать специальные символы, но ничего.

Просматривая сеть, я нашел еще один вопрос здесь, в stackoverflow, о возможности использования: html_entity_decode

Но если я повторяю во внешнем интерфейсе, он работает отлично, но когда я нажимаю на ссылку, он преобразуется обратно в: #038;

пример:

 <?php
$url = '?r='.$prezzo_finale.html_entity_decode('amp;#038;').'s='.$art_p;
echo $url;
?>
 

верните меня во внешний интерфейс с помощью echo: ?r=405amp;s=Sito Web

но когда я нажимаю на свой пост, постоянная ссылка: /?r=405#038;s=Sito Web

Чтобы передать переменную внутри моего сообщения, я использую эту структуру:

 <div class="card" id="professionista<?= $query->post->ID ?>" style="cursor: pointer;">

<!-- CODE -->

<script type="text/javascript">
document.getElementById("professionista<?= $query->post->ID ?>").setAttribute('onclick', 'location.href = "<?php echo esc_url( get_permalink($query->post->ID).$url ); ?>"');
</script>
</div>
 

Как я могу преобразовать это?

Ответ №1:

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