jde nějak vypnout, když píšu v HTML, aby mi WP sám vkládal tagy?

Úvodní stránka Fórum podpory WordPressu Čeština pro WordPress jde nějak vypnout, když píšu v HTML, aby mi WP sám vkládal tagy?

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

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

    max
    Participant

    v html editoru jsem dal:

    [contact-form 1 “Kontaktní formulář 1”]

    <div class=”cf-box”>

    <img class=”mapka” title=”” src=”xxxxx” alt=”” />

    <h6>Naše centrum</h6>

    <p>Horní dolní</p>

    </div>

    a výsledek:

    <div class=”cf-box”>

    <img class=”mapka” title=”” src=”xxxxx” alt=”” />

    </p>

    <h6>Relaxační centrum pyramida</h6>

    <p>Špitálka 16, 602 00 Brno

    </p></div>

    jsou tam přidané
    , což by nevadilo, ale proč mi tam proboha hodil </p>, hned za ten odkaz?

    Samozřejmě ten odkaz můžu obalit <p></p>, ale proč bych to měl dělat?

    Jde toto otravné “samodoplňování” kódu někde vypnout?

    #9024

    neteyescz
    Participant

    Zdravím,

    Wordpress automaticky doplňuje <p> v html editoru, pokud stisknete Enter, tedy odřádkujete text. Tuto funkci lze vypnout přidáním následujícího do wp-includes/post-template.php, pod cunkci the_content.:

    <?php remove_filter ('the_content', 'wpautop'); ?>

    Neteyes.cz

    #9025

    max
    Participant

    Hurááá, perfektní :-)

    Prvně jsem si s tím musel trochu “pohrát” (nějak mi to tam nešlo zakomponovat), tak kdyby někdo ještě potřeboval, tak je to takto:

    function the_content($more_link_text = null, $stripteaser = 0) {

    $content = get_the_content($more_link_text, $stripteaser);

    $content = apply_filters(‘the_content’, $content);

    $content = str_replace(‘]]>’, ‘]]>’, $content);

    echo $content;

    }

    remove_filter (‘the_content’, ‘wpautop’);

    tedy bez toho uzavření v tagu

    Díky moc.

    #9026

    neteyescz
    Participant

    To jsem rád :-)

    Děkujeme za přesné umístění.

    PS: Příště prosím uzavírejte kód do apostrof.

    Děkujeme.

    #9027

    max
    Participant

    Ještě moc prosím, kdybyste byl tak hodný a podíval se mi na tuhle otázku:

    https://www.separatista.net/forum/topic.php?id=464

    #9028

    admin
    Keymaster
    Web

    max: Co to znamená “tedy bez toho uzavření v tagu”?

    Rozhodně nedoporučuji upravovat nějaký soubor jádra WordPressu, tedy ani soubor wp-includes/post-template.php. Při další automatické aktualizaci by se to nemuselo vyplatit, protože může být soubor přemazán novou verzí. Funkce remove_filter() je ideální pro použití v samostatném pluginu nebo přímo v souboru functions.php (v adresáři šablony).

    Stačí tedy vložit tento kód do souboru functions.php (třeba na konec):

    remove_filter( 'the_content', 'wpautop' );

    Pokud vkládáte do fóra nějaký zdrojový kód, můžete ho označit (na začátku a na konci) pomocí znaků obráceného apostrofu ( ` ). Pokud ho nemůžete na klávesnici najít, tak si ho zkopírujte přímo z fóra (je uveden na řádku pod tlačítkem “Odeslat příspěvek”). Můžete nám sem ještě jednou pro přehlednost vložit úvodní kód, který je neúplný a bylo by hezké na něm názorně vidět popisovaný problém?

    #9029

    max
    Participant

    Aha, to mě nenapadlo to dát do functions.php… Já si říkal, že si pak asi budu muset dávat pozor a po aktualizaci WP to znovu upravit, takhle je to lepší.

    Původní kód byl:

    function the_content($more_link_text = null, $stripteaser = 0) {
    $content = get_the_content($more_link_text, $stripteaser);
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]>', $content);
    echo $content;
    }

    a po úpravě:

    function the_content($more_link_text = null, $stripteaser = 0) {
    $content = get_the_content($more_link_text, $stripteaser);
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]>', $content);
    echo $content;
    }
    remove_filter ('the_content', 'wpautop');

    ale jak píšete, dal jsem si to do functions.php

    Díky moc.

    #9030

    neteyescz
    Participant

    Ano, moje řešení bylo kostrbaté :-)

    Takhle je to nejen pohodlnější, ale i bezpečnější.

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

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

WordPress – novinky, návody a zajímavosti