#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