我需要在permalink中传递一个变量,将我带到自定义帖子,然后执行$_GET
我的cf7输入中的这个变量。
Wordpress唯一的问题是&
在里面#038;
我试图破译这些特殊的字符,但什么也没有。
浏览网络时,我在stackoverflow上发现了另一个问题,即使用的可能性:html_entity_decode
但如果我在前端回音,效果会很好,但当我单击链接时,它会转换回:#038;
示例:
<?php
$url = \'?r=\'.$prezzo_finale.html_entity_decode(\'&\').\'s=\'.$art_p;
echo $url;
?>
用echo在前端返回我:
?r=405&s=Sito Web
但当我点击我的帖子时,永久链接是:/?r=405#038;s=Sito%20Web
要在我的帖子中传递变量,我使用以下结构:
<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>
我怎样才能转换这个?
SO网友:Rup
您正在使用PHP生成的JavaScript设置链接。我相信有更好的方法可以做到这一点,例如,只需将onclick处理程序写入div,或者使用<;a>;像往常一样标记链接,但如果您想这样做,应该使用esc_js() 不是esc\\u url()。
<script type="text/javascript">
document.getElementById("professionista<?= $query->post->ID ?>").setAttribute(
\'onclick\', \'location.href = "<?php echo esc_js( get_permalink($query->post->ID).$url ); ?>"\');
</script>
正如注释中所讨论的,您可能还应该使用add\\u query\\u arg()来附加;s=URL的一部分,而不仅仅是字符串串联。如果您还没有这样做,那么这也会处理urlesce,将$url的值部分替换为url,并且可以处理permalink不包含?看起来你已经假设了。