Как вызвать шорткод при нажатии на кнопку

24 янв. 2017 г., 16:39:30
Просмотры: 23.3K
Голосов: 1

Я хочу вызвать шорткод при нажатии на кнопку / ссылку

<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" class="btn" > НАЖМИТЕ, ЧТОБЫ ОТКРЫТЬ ШОРТКОД</a>

но это не работает.

3
Комментарии

[ссылка]<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" > Любой текст для ссылки</a>

nina nina
24 янв. 2017 г. 16:40:49

Что вы пытаетесь сделать? Вы имеете в виду редактор WordPress?

kirillrocks kirillrocks
24 янв. 2017 г. 20:56:53

минусую, так как без дополнительной информации вопрос смешивает серверную и клиентскую части таким образом, что делает невозможным ответить

Mark Kaplun Mark Kaplun
25 авг. 2017 г. 08:32:10
Все ответы на вопрос 3
0

Вы не можете добавить шорткод напрямую в 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>
25 янв. 2017 г. 04:59:53
0

Для вызова шорткода по клику на кнопку, вы не можете напрямую использовать 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] должна быть корректно определена и будет возвращать желаемый результат

6 мар. 2024 г. 07:16:06
1

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

28 авг. 2024 г. 20:12:50
Комментарии

Добавляйте свои комментарии как комментарий к ответу Виджая, а не как ответ на общий вопрос.

BlueDogRanch BlueDogRanch
28 авг. 2024 г. 20:17:43