• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dodanie parametru do shortcode

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+2 głosów
93 wizyt
pytanie zadane 26 listopada w Systemy CMS przez Dawid89 Obywatel (1,190 p.)

Cześć,

próbuję zrobić uniwersalny shortcode gdzie poprzez zmianę parametru będę mógł go wielokrotnie użyć odwołując się do innego adresu url. Stanąłem jednak w miejscu i nie mogę tego rozgryźć. Chciałbym móc dodać shortcode w formie [chart_shortcode chart='adres wykresu'] który załaduje mi odpowiedni wykres. 

<?php
// Funkcja obsługująca shortcode
function my_custom_shortcode( $charturl) {?>
       $chart_html = '
	     <!-- TradingView Chart BEGIN -->
         <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script>
         <script type="text/javascript">
         var tradingview_embed_options = {};
         tradingview_embed_options.width = "640";
         tradingview_embed_options.height = "400";
         tradingview_embed_options.chart = "TUTAJ UNIKALNY ADRES WYKRESU";
         new TradingView.chart(tradingview_embed_options);
         </script>
         <p><a href="https://pl.tradingview.com/chart/SPY/'TUTAJ UNIKALNY ADRES WYKRESU'/"></a></p>
         return $chart_html

<?php
    // Definiowanie domyślnych wartości atrybutów
    $atts = shortcode_atts(
        array(
            'chart' => $chartcode, 
        ),
        $atts,
       'chart_shortcode'
    );
}
?>
// Rejestracja shortcode
add_shortcode( 'chart_shortcode', 'my_custom_shortcode' );

 

1 odpowiedź

+3 głosów
odpowiedź 26 listopada przez pn63 Użytkownik (660 p.)
edycja 26 listopada przez Arkadiusz Waluk
 
Najlepsza
<?php
// Funkcja obsługująca shortcode
function my_custom_shortcode( $atts ) {
 
    $atts = shortcode_atts(
        array(
            'chart' => '', // Domyślnie pusty, jeśli nie podany
        ),
        $atts,
        'chart_shortcode'
    );

    if ( !empty( $atts['chart'] ) ) {
        $chart_html = '
            <!-- TradingView Chart BEGIN -->
            <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script>
            <script type="text/javascript">
                var tradingview_embed_options = {};
                tradingview_embed_options.width = "640";
                tradingview_embed_options.height = "400";
                tradingview_embed_options.chart = "' . esc_js( $atts['chart'] ) . '";
                new TradingView.chart(tradingview_embed_options);
            </script>
            <p><a href="https://pl.tradingview.com/chart/' . esc_js( $atts['chart'] ) . '/"></a></p>
            <!-- TradingView Chart END -->
        ';
        return $chart_html;
    } else {
        return 'Proszę podać adres wykresu w atrybucie chart.';
    }
}

add_shortcode( 'chart_shortcode', 'my_custom_shortcode' );
?>
1
komentarz 26 listopada przez Arkadiusz Waluk Ekspert (289,990 p.)
Fajnie, że udało się pomóc, ale miło byłoby jednak, aby kogoś bardziej naprowadzić i coś wyjaśnić, a nie wkleić gotowca bez żadnego słowa wyjaśnienia. Tym bardziej, że gotowca wygenerował Chat GPT czy inny model, co widać także po Twoich innych odpowiedziach. Lepiej napisać ich mniej, ale lepszych, niż dużo razy przekleić coś od AI. Forum ma się opierać na faktycznej pomocy, tzn. zakładamy że raczej każdy powinien umieć skorzystać z Google albo wkleić swoje zadanie do Chata GPT we własnym zakresie i jeśli pomimo to ktoś pyta, to widać trzeba mu oczekuje jednak czegoś innego. Prosimy więc aby faktycznie pomagać, a nie wrzucać wygenerowane automatycznie odpowiedzi.
komentarz 6 dni temu przez pn63 Użytkownik (660 p.)

ok pa indecisionangel

Podobne pytania

0 głosów
0 odpowiedzi 1,326 wizyt
0 głosów
1 odpowiedź 122 wizyt
pytanie zadane 21 stycznia 2020 w PHP przez mi-20 Stary wyjadacz (13,250 p.)
–1 głos
0 odpowiedzi 106 wizyt

93,182 zapytań

142,196 odpowiedzi

322,002 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 1889p. - dia-Chann
  2. 1864p. - Łukasz Piwowar
  3. 1847p. - CC PL
  4. 1843p. - Łukasz Eckert
  5. 1805p. - Tomasz Bielak
  6. 1785p. - Michal Drewniak
  7. 1777p. - Łukasz Siedlecki
  8. 1774p. - rucin93
  9. 1744p. - rafalszastok
  10. 1724p. - Adrian Wieprzkowicz
  11. 1684p. - Mikbac
  12. 1624p. - Anonim 3619784
  13. 1520p. - Marcin Putra
  14. 1368p. - ssynowiec
  15. 1258p. - Dawid128
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...