引号和撇号未在 PHP 中显示



我正在尝试将谷歌分析的onclick属性附加到WordPress导航菜单项。

add_filter( 'nav_menu_link_attributes', 'wpse121123_contact_menu_atts', 10, 3 );
function wpse121123_contact_menu_atts( $atts, $item, $args )
{
// The ID of the target menu item
$menu_target = 6384;
$mystring = ''http://example.com/your-link'';
// inspect $item
if ($item->ID == $menu_target) {
$atts['onclick'] = 'return gtag_report_conversion(' . htmlentities($mystring, ENT_NOQUOTES) . ');';
}
return $atts;
}

我已经尝试过ENT_QUOTES,ENT_NOQUOTES,用斜杠转义,交替使用单引号和双引号,带或不带htmlentities((,但HTML总是输出引号的HTML字符,如下所示。

<a title="link" href="#" class="nav-link" onclick="return gtag_report_conversion(&#039;http://example.com/your-link&#039;);">Link</a>

我如何确保按照下面的 GA 文档显示它 - 即,将 URL 括在单引号中。

<a title="link" href="#" class="nav-link" onclick="return gtag_report_conversion('http://example.com/your-link');">Link</a>

非常感谢。

这不是我想要的答案,但我找到了jQuery的解决方法。

jQuery('#menu-item-6384 > a').attr("onclick", "return gtag_report_conversion('https://www.mylink.com/conversion/');");

消除了特殊字符的所有问题

最新更新