Cum să apelezi un shortcode la click pe buton

24 ian. 2017, 16:39:30
Vizualizări: 23.3K
Voturi: 1

Vreau să apelez un shortcode la click pe un buton / link

<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" class="btn" > CLICK PENTRU A DESCHIDE SHORTCODE</a>

dar nu funcționează.

3
Comentarii

[link]<a href="<?php echo do_shortcode( '[wizard id=1]' ); ?>" > Whatever text for link</a>

nina nina
24 ian. 2017 16:40:49

Ce încerci să faci? te referi la editorul WordPress,

kirillrocks kirillrocks
24 ian. 2017 20:56:53

am votat în jos, deoarece fără informații suplimentare întrebarea este confuză, amestecând partea de server cu partea de client într-un mod care o face imposibil de răspuns

Mark Kaplun Mark Kaplun
25 aug. 2017 08:32:10
Toate răspunsurile la întrebare 3
0

Nu poți adăuga un shortcode direct în PHP. Totuși, fiecare shortcode execută o funcție, așa că poți pur și simplu să adaugi acea funcție în codul link-ului tău.

Dacă shortcode-ul tău arată cam așa:

function my_custom_shortcode( $atts, $content= NULL) {
    shortcode function
}
add_shortcode ( 'my_custom_shortcode' , 'my_custom_shortcode' );

folosește acest cod în link-ul tău:

<a href="<?php my_custom_shortcode(); ?>" class="btn" > CLICK TO OPEN SHORTCODE</a>
25 ian. 2017 04:59:53
0

Pentru a apela un shortcode la click pe buton, nu poți folosi direct PHP în atributele HTML precum href. În schimb, trebuie să utilizezi JavaScript pentru a obține această funcționalitate.

<!-- Cod HTML pentru buton -->
<a href="#" id="shortcodeButton" class="btn">CLICK PENTRU A DESCHIDE SHORTCODE</a>

<!-- Cod JavaScript -->
<script>
    // Adaugă un event listener pe buton
    document.getElementById('shortcodeButton').addEventListener('click', function(event) {
        // Previne comportamentul implicit al tag-ului anchor
        event.preventDefault();
        
        // Apelează shortcode-ul folosind JavaScript
        var shortcodeResult = '<?php echo do_shortcode("[wizard id=1]"); ?>';
        
        // Redirecționează sau faci ceva cu rezultatul
        // De exemplu, poți redirecționa către URL-ul rezultat
        window.location.href = shortcodeResult;
    });
</script>

funcția ta de shortcode [wizard id=1] este definită corect și va returna rezultatul dorit

6 mar. 2024 07:16:06
1

Vijay, Îți mulțumesc pentru ajutor. Înțeleg la ce te referi cu exemplul oferit, dar se pare că rulează shortcode-ul imediat la încărcarea paginii, dar nu la click pe link. Există vreo modalitate de a opri acest lucru? Este aceasta ceea ce ar trebui să facă event.preventDefault();, sau lipsește ceva altceva?

28 aug. 2024 20:12:50
Comentarii

Adăugați comentariile dumneavoastră ca un comentariu la răspunsul lui Vijay, nu ca un răspuns la întrebarea generală.

BlueDogRanch BlueDogRanch
28 aug. 2024 20:17:43