PHP ve WordPressu – automatické vkládání

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem PHP ve WordPressu – automatické vkládání

Zvolené téma obsahuje celkem 6 odpovědí. Do diskuze (2 účastníci) se naposledy zapojil uživatel  depperdc a poslední změna je stará 10 let, 8 měsíců.

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (z celkem 7)
  • Autor
    Příspěvky
  • #3563

    depperdc
    Participant

    Zdravím. Mám problém. poměrně slušně umím programovat, alespoň co se týká jednoduchých php skriptíků, použití funkcí apod. pouzivame wordpress 3.5.1 (myslim) a exec-php. Nevím co mi to dělá, ale téměř po každém php výpisu echo se mi do stránek narve < b r / > nebo </p> atd. (navíc jsem nepochopil, podle jakého klíče to tam vkládá. jestli je to náhodné, nebo ne) to se pak můžu snažit dělat stránky s párovými tagy, když si to tak redakční systém sází jak je mu libo. mám podezření na wordpress, ale může to být samozřejmně i chyba pluginu.

    Pomůže mi někdo opravdu “znalý”?

    Moc děkuji

    #16178

    depperdc
    Participant

    Příklad:

    super. chtěl jsem vložit příklad ale protože pouzivam mysql tak proste nemohu :(

    <select name="vyber_hrace" size="1" style="width:200px;">
    <option value='0' >-- nedostupné --
    <?php
    $MmSsQq = MySQL_Query("SELECT 'Heslo','WOT_nickname' FROM 'hrac'");
    while($dotaz = mysql_fetch_array($MmSsQq))
    {
    echo "<option value='".$dotaz['Heslo']."'";
    if( $vyber_hrace == $dotaz['Heslo'] ) echo " selected";
    echo ">-- &nbsp; &nbsp;".$dotaz['WOT_nickname']."&nbsp; &nbsp; --";
    }
    ?>
    </select>

    Výstup v HTML:

    <select name="vyber_hrace" size="1" style="width:200px;">
    <option value='0' >– nedostupné –</p>
    <option value='3'>– &nbsp; &nbsp;DrDC&nbsp; &nbsp; –<br />
    <option value='098f6bcd4621d373cade4e832627b4f6'>– &nbsp; &nbsp;ksa&nbsp; &nbsp; –<br />
    <option value='098f6bcd4621d373cade4e832627b4f6'>– &nbsp; &nbsp;echh&nbsp; &nbsp; –<br />
    <option value='5'>– &nbsp; &nbsp;DD&nbsp; &nbsp; –<br />
    <option value='1'>– &nbsp; &nbsp;LACS&nbsp; &nbsp; –<br />
    <option value='4'>– &nbsp; &nbsp;AHex&nbsp; &nbsp; –<br />
    <option value='8'>– &nbsp; &nbsp;test2&nbsp; &nbsp; –<br />
    <option value='9'>– &nbsp; &nbsp;assa17&nbsp; &nbsp; –<br />
    <option value='11'>– &nbsp; &nbsp;vl18&nbsp; &nbsp; –</select>

    #16179

    Lukenzi
    Participant

    Co znamená “do stránek narve”? Do obsahu článku? Kam ten script vkládáte? Proč výstup scriptu nevkládáte pomocí shortcode? Proč nepoužíváte nativní funkce WordPressu?

    #16180

    depperdc
    Participant

    Zkusím vysvětlit. jinak se omlouvám za tón, ten den jsem byl už vytočenej. Jak můžete vidět v kódu, vypisuji v cyklu hodnoty. Jestli se nepletu v selectu nejsou optiony nijak ukončeny (až dalším option) (většinou si tohle ověřuju na stránkách jakpsatweb). Ale jak vidíte, jsou ukončeny příkazem br/ který jsem nikde nikdy nevepsal. Jinak jsem dělal dříve obyč stránky, kde si php narvu kam potřebuji (z vestavěných funkcí jsem zatím použil jen dvě – mail a current-user). Předpokládám, že většinu vestavěných funkcí neumím ani neznám (třeba bych je pak použil). neznám shortcore, ale předpokládám, že něco, kam se vkládá kód (já první co jsem našel byl plugin exec-php).

    chybí zřejmě ještě odpověď kam to rvu .. do stránek, lépe do html kódu vytváření stránky. Děkuji (zkusím něco najít o tom shortcode, ať se pak můžeme rozumně bavit dál)

    Wordpress používám cca měsíc, tak se předem omlouvám za neznalost. jsem zvyklý, že co napíšu, to se vypíše do zdrojového kódu stránky.

    #16181

    depperdc
    Participant

    programuju dál a pro příklad když si do html editoru wordpress dovolim já napsat <br /> tak z toho vzniká ve zdrojovém kódu vygenerované stránky <p><br /></p> a z toho se mi chce vážně brečet.

    #16182

    Lukenzi
    Participant

    Aha tak tohle je již známá “feature” pluginu (support). Z odkazu můžete vyčíst, že máte použít plugin Disable WPautop, který toto automatické vkládání odstraní. Rada vývojářů mi, ale příjde docela úsměvná, protože tento plugin odstraní všechna automaticky vložená br ve všech článcích, tedy i tam kde tuto mezeru chcete skutečně mít.

    Pokud nechcete použít tento plugin, můžete do souboru “functions.php” vaší šablony vložit následující dva řádky:

    remove_filter('the_content', 'wpautop');

    remove_filter('the_excerpt', 'wpautop');

    Výsledek bude naprosto stejný.

    Pokud automaticky vložené mezery nechcete všude odstraňovat, ale chcete vyřešit váš problém asi bych opravdu použil shortcode. Tedy celý váš výstup vložit do vlastní PHP funkce, například “vyber_hrace” a poté vytvořil shortcode třeba “hraci”. Kamkoliv do článku pak stačí vložit značku [hraci] a při publikování článku se tato značka nahradí výstupem vaší funkce.

    #16183

    depperdc
    Participant

    Zdar. Koukal jsem na shortcode a musel bych si naprogramovat cca 30 funkci. Navic toto objektové programování mi je docela cizí. Osobně preferuji čistě kód, který když si procházím, vidím přesně co se děje. Takže vzhledem k více administrátorům (někteří používají i editor kde si píší stránky). Takže předpokládám, že bude problém na stránkách co jsou již napsané. Nelze něco vyplodit, aby toto nedělal pouze při ukládání stránky z HTML editoru, nebo je problém při zobrazování stránky z mysql a tudíž je problém neřetelný bez přepisu všech stránek a vypnutí daných funkcí.. (?) snad jsem to pochopil správně. jinak prozatím děkuju

    (problém je v tom, že já chvilku matlám html chvilku php a stránka pak ve zdrojáku vypadá opravdu jako psaná mimozemšťany)

Aktuálně je na stránce zobrazeno 7 příspěvků - 1. až 7. (z celkem 7)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti