Beillesztem a kódot, és nem működik…

Milliomos lennék, ha csak tíz forintot kaptam volna minden alkalommal, amikor megválaszoltam egy olyan kérdést, hogy “miért tűnt el a YouTube videó beillesztés után” vagy “miért nem működik a hírlevélküldőm űrlapja, pedig egyszer már működött” és hasonlók… Az ilyen esetekért a WordPress beépített, kissé túlbuzgó védelme a felelős.

A WordPress ugyanis alapvetően nem html-szerkesztő, hanem tartalomkezelő (sőt, mondhatnánk akár szövegszerkesztőnek is jelen esetben), és amikor html-kódot illesztünk be, például az Autoresponder űrlapjáét, akkor azt hiszi, hogy elrontottunk valamit, és megpróbálja “kijavítani”. Merő jóindulatból teszi a drága, ahogyan kiveszi a dupla sorközt is, hiába szeretnénk oda tényleg több helyet, és van még pár ilyen idegesítő jó szokása. De van ezek ellen védekezés is.

 

A máshonnan kapott kódokat ugyebár HTML nézetben kell beszúrni. És itt jön a lényeg: utána frissítsd a bejegyzést vagy az oldalt, és lépj ki a szerkesztőből, már ne kapcsolj vissza Vizuális nézetbe. Az ide-oda kapcsolgatás rontja el a kódot, és csinál a dinamikus űrlapból egy statikus táblázatot, amelynél a gomb már nem működik.

Megoldás tehát: először írd meg az űrlap előtti (és mögötti, ha van) szöveget, és legvégül illeszd csak be a kódot, természetesen HTML nézetben. Utána frissíts és lépj ki a szerkesztőből. A szerkesztő megjegyzi, hogy utoljára milyen nézetben voltál, ezért amikor legközelebb bemész egy bejegyzést vagy oldalt szerkeszteni, akkor megint HMTL nézetben találod magad, de ott már nyugodtan átválthatsz Vizuális nézetbe, ha abban a bejegyzésben vagy oldalban nincs kód, akkor azt nem fogja “bántani” a szerkesztőfelület.

Úgy tudod ellenőrizni, hogy működik-e az űrlapod, hogy ha üresen (kitöltés nélkül) rákattintasz a “Feliratkozom” (vagy más szövegű) gombra, akkor az Autoresponder hibaüzenetet küld, hogy a kötelező mezők nincsenek kitöltve. Ha nem jelennek meg ezek a hibaüzenetek, hanem csak állsz ott az oldalon és nem történik semmi, akkor eltűnt a kód. Ez látszik is különben, amikor visszamész a szerkesztőbe HTML nézetben: már csak a table utasítással kezdődő rész van ott, az a sor, amely a form utasítással kezdődött – eltűnt.

 

A videók megjelenítésénél hasonló a helyzet. A YouTube (és más) videókhoz tartozik egy “Embed” azaz beágyazás kód, de ezeknél is ugyanarra a trükközésre van szükség, mint az Autoresponder kódjánál. Egyszerűbb és tisztább, ha egy bővítményt használsz erre a célra. Én már sokat kipróbáltam, és a Smart YouTube tetszett meg a legjobban. Telepítés és bekapcsolás után csak a videóablak méretét kell megadnod (nyilván akkorára, amekkora még normálisan elfér az oldaladon), azután a videó linkjét kell beillesztened oda, ahol meg akarod jeleníteni, annyi változtatással, hogy a http: részbe beleteszel egy v betűt pluszban.

Tehát például a http://www.youtube… helyett (nem tudom kiírni az az egész linket, mert akkor rögtön le is játssza 🙂 ) azt kell írnod, hogy httpv://www.youtube… (látod a v-t?) és a többit már oda tudod képzelni 🙂 Így meg fog jelenni az oldalban a videó lejátszó ablaka.

FRISSÍTÉS: Megjelent a bővítmény új verziója. Frissítettem is, ahogy kell, és csúnya meglepetés ért: elkezdett hibásan működni. Remélem, hamarosan javítják, de jelenleg az a helyzet, hogy simán megjeleníti a videókat akkor is, ha csak beilleszted a videó linkjét. Ez azért baj, mert ha csak hivatkozni szeretnél egy videóra, akkor nem tudsz… Pedig van egy olyan opció a beállításainál, hogy “Parse links with http:// prefix same as httpv://”, azaz a v betű nélküli linkeket is használja fel, és ez nálam nincs bepipálva, mégis működik. Ha meg bepipálom, akkor a v-vel ellátott linkű videókat nem illeszti be… Egyszóval úgy néz ki, pont az ellenkezőjét csinálja, mint amit kellene. Pedig korábban jó volt…

 

Írtam már ezekről, meg arról is, hogy ha tényleg ki akarsz hagyni egy üres sort (mint én itt a jelen bekezdés fölött), akkor ezt csak sorkizárt vagy középre zárt szöveg esetén teheted meg, és akkor is be kell írni abba a sorba egy szóközt. Ezt már nem értheti félre a WordPress, ebből már megérti, hogy itt tényleg egy üres sornak kell lennie.

FRISSÍTÉS: Internet Explorerben és Mozilla Firefoxban legalábbis működik. A Google Chrome ezt is felülbírálja. Úgyhogy mostanában, ha blogbejegyzést akarok írni, kénytelen vagyok újra az Explorert használni, pedig végre nagy nehezen átszoktam a Chrome-ra. Ha Chrome-ban írom a bejegyzéseket, kizárólag akkor fogadja el az üres sor kihagyását, ha html nézetben ráerőltetem az “nbsp” kóddal, és utána már nem lépek vissza vizuálisba.

 

Ez egy különleges alkalom egyébként, hogy ilyen bejegyzést írok a WP-Sulira, a nyílt blogra – az ilyen részletekbe menő dolgokat inkább a klubtagokkal szoktam csak megosztani, a zárt oldalon. Te még nem vagy klubtag? 🙂 Nosza, nézd csak meg, mit kínálok az előfizetőimnek: leírás a WP-Suli Klubról.

 

Oszd meg Te is:

Share on facebook
Facebook
Share on google
Google+
Share on twitter
Twitter
Share on linkedin
LinkedIn

Ezek is érdekesek lehetnek számodra: 

Ne maradj le semmiről, iratkozz fel hírlevelünkre!

Javasolt eszközök:

Banner250x250.png
Elementor Pro
Generatepress Logo White Asset
GeneratePress
Divi 4.0
Divihello
Prémium támogatás és ajándék Divi licence
Adatvedelem.png
ADATVÉDELEM minta
Aszf.png
Webshop ÁSZF minta

“Beillesztem a kódot, és nem működik…” bejegyzéshez 12 hozzászólás

  1. Szerintem ezt kijavíthatnák már. Jegyezze meg, hogy mi a html kód és mi az, amit a gombokkal formáztunk. Biztos megoldható, hogy ne legyen többé ez kényelmetlen.
    Ezt leszámítva jónak tartom.:)

  2. A 10 Ft/válaszról jut eszembe, hogy Mézga Aladár mindig azt mondta, hogy “2 forintért megmondom!”

    Egyébként hasznos ez a bejegyzés is, köszönöm!

    • Valami bibi van a rendszerben…

      Hiába próbálkozom akár a szerkesztő, akár a HTML-nézetben ezzel a szóköz-trükkel, mentéskor akkor is felülbírál a WP, és újból összecsúszik a szövegem…

      Ellenben a WP-ben – teljesen magától – időnként megjelenik egy ilyen kód a HTML-ben:   – ez pedig tényleg hagy egy sorközt (pontosabban inkább másfelet…). Most jobb híján ezt használom. De hogy ez honnan jött, mikor én nem kerestem, és nem is kértem???

      • Ez sablontól is függ. Az nbsp azt jelenti, nem törhető szóköz. Ez lenne a jó, természetesen, ha a sablon hagyná magát. Ennél többet csak belülről tudnék mondani. Egyébként az nem másfél sor, hanem egy bekezdés, és a bekezdés stílusát (hogy mennyi helyet hagy ki utána) is a sablon stíluslapja (style.css) határozza meg.

    • Telepítsd újra a WP-t, mert ez nem normális viselkedés. Vagy nem használsz esetleg valami más szerkesztőt, nem a WP alapértelmezettet? Pl a Dean’s FCK Editort vagy hogy is hívják?

  3. A html kódok beillesztésére van egy sokkal tisztább megoldás, az egyedi mezők használata. Én a Custom fields shortcode nevű bővítményt használom erre a célra.
    Először is hozz létre egy egyedi mezőt, és illeszd be a html kódot – akár Javascriptes is lehet. Ezután az oldalba a kívánt helyre írd be a következőt: [cf]egyedi mező neve[/cf]. Ne felejtsd el az egyedi mezőt és az oldalt is frissíteni.
    Így nyugodtan szerkesztheted az oldal tartalmát, akár vizuális nézetben is.

    • Köszönjük a kiegészítést!

      Jó, hogy van (lett) erre bővítmény, úgy látszik, mások is felismerték a problémát. Sajnos minden bővítményt én sem ismerhetek, per pillanat éppen 27.289 db van 🙂 – de ezért jó ez a blog, hogy itt meg tudjuk osztani egymással a tapasztalatainkat. Úgyhogy még egyszer kösz, hogy megírtad!

  4. TargetDate = “17/04/2019 06:00 AM”;
    BackColor = “claret”;
    ForeColor = “claret”;
    CountActive = true;
    CountStepper = -1;
    LeadingZero = true;
    DisplayFormat = “%%D%% nap van még az MK.II.Fordulóig”;
    FinishMessage = “Ma van a napja!”;

    tudja valaki miért nem működik? eddig jó volt…

    • Hát ennyiből nem 🙂

      De ez nyilván egy plugin, tehát a fejlesztőjétől érdemes tanácsot kérni.

      Itt a blogon ennyire speciális kérdésekre sajnos nem tudunk válaszolni.

Szólj hozzá!

Ez a weboldal az Akismet szolgáltatását használja a spam kiszűrésére. Tudjunk meg többet arról, hogyan dolgozzák fel a hozzászólásunk adatait..