Individuální zobrazení obrázků a caption

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Individuální zobrazení obrázků a caption

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

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

    sjiamnocna
    Participant
    Web

    Ahoj. Chci se zeptat, je možné nějak upravit základní způsob vkládání fotografií (s caption popisky nebo bez nich). Chtěl bych dosáhnout toho, abych si mohl sám vytvořit výstup, něco jako toto, kdyby to tak mohlo fungovat:

    <div class="mojevlastnitrida"><a href="$link" rel="$rel"><img src="$src" style="$vlastnistyl"></a><div/>

    Předpokládám že jde o úpravu pluginu zajišťujícího vkládání obrázků do TinyMCE ale kde zrovna tento konkrétní najdu, a jak zařídím výsledek?

    #15508

    Musilda
    Participant
    Web

    Ahoj

    Využij hook image_send_to_editor.

    add_filter( 'image_send_to_editor', 'uprava_obrazku', 10, 7);
    function uprava_obrazku($html, $id) {
    //tvůj kód, na úpravu výstupu
    return $html;
    }

    Já jsem takto třeba přidával fancybox k vloženým obrázků, bez pluginu, nebo jquery.

    Edit:

    Ještě detail hooku http://adambrown.info/p/wp_hooks/hook/image_send_to_editor?version=3.5&file=wp-admin/includes/media.php

    #15509

    sjiamnocna
    Participant
    Web

    Ano, přesně o to jde… Nemáš ještě nějaký návod, jak přidat do výběru IMG v editoru checkbox na obsažení/vynechání daného parametru? Pokud ne, nevadí ale asi by to mohlo být lepší

    #15510

    Musilda
    Participant
    Web

    Rád bych ti pomohl, ale takový návod neznám. To si asi budeš udělat na míru. Zkus se mrknout na tento článek, možná tě navede k řešení http://mikejolley.com/2012/12/using-the-new-wordpress-3-5-media-uploader-in-plugins/

    #15511

    sjiamnocna
    Participant
    Web

    Asi se ti podařilo přesvědčit mě, že se obejdu :D díky moc za odpovědi

    #15512

    admin
    Keymaster
    Web

    Musilda: Přesně tak, filtr image_send_to_editor je správný postup. Proč je tam ale to číslo 7?

    add_filter( 'image_send_to_editor', 'uprava_obrazku', 10, 7);

    Podle odkazu na hook by tam mělo být spíše číslo 8 (při použití všech parametrů)? Anebo pouze číslo 2, pokud používáš ve funkci pouze hodnoty $html a $id?

    sjiamnocna: Existuje několik možností…

    1) Po vložení obrázku do editoru na něj můžete kliknout a objeví se v levém horním rohu ikonka pro úpravy obrázku. A na záložce rozšířená nastavení pak můžete v poli “CSS třída” doplnit/odstranit potřebnou CSS třídu. Teoreticky ji lze dopsat/umazat i přímo v HTML editoru, ale to asi není pro běžné uživatele moc vhodné.

    2) Můžete si vytvořit vlastní zaškrtávátko (aneb uživatelské pole) přímo v prostředí správce médií. Musilda sice odkázal na návod, který se zabývá vlastní implementací nového mediálního prostředí ve WordPressu 3.5.x, ale uživatelská pole už bohužel neřeší.

    Není to ale nic složitého, prozkoumejte např. následující návod. Není sice konkrétně pro zaškrtávácí políčko, ale pouze pro obyčejné textové pole, což by však neměl být zásadní problém (pouze jiné HTML). Důležité jsou tam 3 hooky: attachment_fields_to_edit (definuje HTML nového pole), attachment_fields_to_save (řeší jak se budou ukládat hodnoty pole) a wp_ajax_save-attachment-compat (řeší Ajaxové/průběžné ukládání hodnoty pole). Potom už stačí použít zmiňovaný hook image_send_to_editor a při vkládání obrázku si nechat zjistit hodnotu uživatelského pole pomocí funkce get_post_meta() a podle výsledku vložit do editoru potřebnou třídu.

    3) A posledním způsobem, který mě napadá, je filtr img_caption_shortcode, který ale asi nebude v tomto případě nejvhodnější, protože funguje pouze pro obrázky s vyplněnými popisky (aneb pole “Titulek”) a stejně by tam muselo být definované nějaké uživatelské pole. Výhodou (i nevýhodou) tohoto řešení je fakt, že HTML třídu nevkládáte přímo do editoru, ale zobrazujete ji automaticky na základě nějakých podmínek (např. uživatelského pole).

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

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

WordPress – novinky, návody a zajímavosti