Как вызвать шорткод при нажатии на кнопку
Я хочу вызвать шорткод при нажатии на кнопку / ссылку
<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" class="btn" > НАЖМИТЕ, ЧТОБЫ ОТКРЫТЬ ШОРТКОД</a>
но это не работает.

Вы не можете добавить шорткод напрямую в PHP. Однако каждый шорткод выполняет функцию, поэтому вы можете просто добавить эту функцию в код вашей ссылки.
Если ваш шорткод выглядит примерно так:
function my_custom_shortcode( $atts, $content= NULL) {
// функция шорткода
}
add_shortcode ( 'my_custom_shortcode' , 'my_custom_shortcode' );
используйте это в вашей ссылке:
<a href="<?php my_custom_shortcode(); ?>" class="btn" >НАЖМИТЕ, ЧТОБЫ ОТКРЫТЬ ШОРТКОД</a>

Для вызова шорткода по клику на кнопку, вы не можете напрямую использовать PHP внутри HTML атрибутов, таких как href. Вместо этого необходимо использовать JavaScript для реализации этой функциональности.
<!-- HTML код для кнопки -->
<a href="#" id="shortcodeButton" class="btn">НАЖМИТЕ, ЧТОБЫ ОТКРЫТЬ ШОРТКОД</a>
<!-- JavaScript код -->
<script>
// Добавляем обработчик события для кнопки
document.getElementById('shortcodeButton').addEventListener('click', function(event) {
// Предотвращаем стандартное поведение ссылки
event.preventDefault();
// Вызываем шорткод с помощью JavaScript
var shortcodeResult = '<?php echo do_shortcode("[wizard id=1]"); ?>';
// Перенаправляем или делаем что-то с результатом
// Например, можно перенаправить на URL результата
window.location.href = shortcodeResult;
});
</script>
ваша функция шорткода [wizard id=1] должна быть корректно определена и будет возвращать желаемый результат

Вижай, спасибо за помощь. Я понимаю, что ты имеешь в виду на приведённом примере, но похоже, что шорткод выполняется сразу при загрузке страницы, а не по клику на ссылку. Есть ли способ это остановить? Это то, что должен делать event.preventDefault(); или здесь чего-то не хватает?
