Как в шорткод добавить tooltip с html содержимым?

Есть сайт на wordpress где через шорткод добавляю всплывающую подсказку bootstrap таким образом:

function tooltip_func( $atts ){

    $attributes = shortcode_atts(
        array(
           'text' => '',
           'toggle' => 'tooltip',
           'placement' => 'bottom',
           'html' => 'true'
        ), 
        $atts
    );

    $output = '';
    if ( !$attributes['text'])
        return $output; 

    $output .= '<span  data-bs-toggle="'.$attributes['toggle'].'" data-bs-html="'.$attributes['html'].'" data-bs-placement="'.$attributes['placement'].'" data-bs-title="'.html_entity_decode($attributes['text']).'"><i class="fa fa-lightbulb-o" aria-hidden="true"></i></span>';
    return $output;
}

add_shortcode( 'tooltip', 'tooltip_func' );

Теперь мне нужно добавить ссылку внутрь tooltip применяя разметку html. Как видно ниже в чистом bootstrap это возможно сделать

Код

var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) {
  return new bootstrap.Tooltip(tooltipTriggerEl)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" />

<button type="button" class="btn btn-secondary" data-bs-toggle="tooltip" data-bs-html="true" title="Текст <a href='https://youtube.com'>Ссылка</a> текст">
  Tooltip with HTML
</button>

Но, если добавляю через щорткод вот так

[tooltip text='Текст <a href="https://youtube.com">Ссылка</a> текст' icon='fa-info-circle']

то получаю сломанную верстку. Пробовал делать экранирование кавычек и кодирование контента, но не помогло.. Как грамотно решить данную задачу?


Ответы (1 шт):

Автор решения: Вася

Сработала история поменять кавычки в шорткоде местами, т.е. вместо

[tooltip text='Текст <a href="https://youtube.com">Ссылка</a> текст' icon='fa-info-circle']

вот так:

[tooltip text="Текст <a href='https://youtube.com'>Ссылка</a> текст" icon="fa-info-circle"]

Причем, обнаружил баг (фичу) в редакторе, что при переключении с вида html на визуальный редактор, кавычки возвращаются на исходные. Не понимаю почему

→ Ссылка