wordpress — Кавычки и апострофы не отображаются в переполнении стека

Я пытаюсь прикрепить атрибут onclick для Google Analytics к пункту меню WordPress Nav.

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>

Большое спасибо.

0

Решение

Это не совсем тот ответ, который я искал, но я нашел обходной путь с jQuery.

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

Устраняет все проблемы со спецсимволами

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]