Wsparcie » Zaawansowane » shortcode wyłuskiwanie

  • Cześć, jak funkcja odpowiada za wyłuskiwanie znaczników [shortcode]
    gdzie tego szukać, pisze sobie własny szablon, wszystko niby działa tylko to mi nie działa

    dodam że wina leży po stronie mojego szablonu – na innych działa, co mogę mieć nie tak? na co zwrócić uwagę?

Viewing 7 replies - 1 through 7 (of 7 total)
  • jak funkcja odpowiada za wyłuskiwanie znaczników [shortcode]

    Możesz jaśniej opisać, co dokładnie chcesz zrobić, co nie działa?

    -szorty nie są wykonywane, czy co?
    https://developer.wordpress.org/reference/functions/do_shortcode/

    • Ta odpowiedź została zmodyfikowana 4 miesięcy, 3 tygodnie temu przez  Paweł Knapek.

    Cześć, przerabiam motyw, już od dawna, nie działa wykonywanie shorów tak jakby czegoś w pliku function brakowało.

    po prostu [shot] wstawiony w tekście nie jest „wyłuskiwany” tylko na www prezentuje się jako [shot], ale gdy tylko zmienię motyw wszytko jest ok, znakiem tego coś w mym motywie jest nie tak – dodam, że sam go sobie piszę od początku, więc może być tam wiele dziur i oto właśnie jedna z nich – dzięki za linka na codexa wp też zaglądam. To co tu mi podesłałeś, przetestuję i napiszę w wątku co tam było nie tak jeśli znajdę błąd 🙂

    W jaki sposób wyświetlasz treść na stronie? Standardowa pętla, czy jakoś inaczej?
    Prawdopodobnie jest coś nie tak z wyświetlaniem treści.

    Właśnie zauważyłem, że jest to dosyć stary wpis i już pewnie rozwiązałeś problem 🙂

    @daro256

    Tak doszedłem do tego, że błąd leży w wyświetlaniu treści, przeczytałem „całą” dokumentację dot. hooków /akcja,filtr/ i to jednak nie problem shortcode

    treść wyświetlam tak

    
    if ( have_posts() ) : while ( have_posts() ) : the_post();
                $olo = get_post();
                echo "<temat>".$olo->post_title."</temat>";
                $content = $olo->post_content;
    

    i pewnie to tu jest babol, ale że mam inne cuda na głowie, to do tematu za jakieś czas jeszcze wrócę

    No jest babol. W pętli nie musisz przypisywać postu do zmiennej. Wszystkie dane już są załadowane do globalnej zmiennej post, za pomocą the_post();

    if ( have_posts() ) : while ( have_posts() ) : the_post();
                
                echo "<temat>".get_the_title()."</temat>";
                the_content();

    Ostatnia linijka wyświetli treść, a jak chcesz ją przypisać do zmiennej to używasz get_the_content();
    Tylko wtedy musisz zadbać o jeszcze jedną rzecz, przez którą właśnie shortcody nie działały.

    
    $tresc = get_the_content();
    $tresc = apply_filters('the_content', $tresc);
    echo $tresc;

    Druga linijka przepuszcza treść przez filtr, w którym między innymi podmieniane są shortcody.

    Dzięki, spoko podmieniłem i pięknie działa – jeszcze raz wielkie dzięki za pomoc

Viewing 7 replies - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.