WordPress|转换为&

时间:2021-01-25 作者:user14985037

我需要在permalink中传递一个变量,将我带到自定义帖子,然后执行$_GET 我的cf7输入中的这个变量。

Wordpress唯一的问题是& 在里面#038;

我试图破译这些特殊的字符,但什么也没有。

浏览网络时,我在stackoverflow上发现了另一个问题,即使用的可能性:html_entity_decode

但如果我在前端回音,效果会很好,但当我单击链接时,它会转换回:#038;

示例:

<?php
$url = \'?r=\'.$prezzo_finale.html_entity_decode(\'&#038;\').\'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>
我怎样才能转换这个?

1 个回复
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不包含?看起来你已经假设了。

相关推荐

Wordpress Permalinks problem

Wordpress版本4.8(我不想使用4.9.1,因为模板页面属性有问题)我有个大问题。我读过很多解决方案,但对我来说并不适用。我正在创建一个自定义wordpress项目,一开始我的永久链接有问题。如果我使用“Plain”,这很好,但如果更改为例如“Date and time or something”,则会出现以下错误:我试着改变。htaccess,但看起来不错,这是我的。htaccess# BEGIN WordPress <IfModule mod_rewrite.c>