Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Author honza.skypala

    (@honzaskypala)

    Zdravím Lukáši,

    bohužel, není možné aby můj plugin podporoval všelijaké další pluginy v tom, co dělají specifického. Na to nemám prostor a myslím, že i z hlediska čistoty kódu by to bylo špatně.

    Současně bych vám radil nezasahovat přímo do mého pluginu — jakmile vydám novou verzi, tak se vám všechny vaše změny přepíší mou novou verzí a přijdete o ně. Takto se to dělat nemá.

    Pokud potřebujete, aby se filtr aplikoval i na některé další prvky, například prvky vytvářené jinými pluginy, teoreticky je to možné následujícím způsobem:

    1. takovou podporu si sám naprogramujete ve svém vlastním speciálním pluginu — např. plugin “Spolupráce ACF se Zalomení”. Takto budete mít jistotu, že vámi přidaná funkcionalita nebude přepsána ani novými verzemi ACF, ani novými verzemi Zalomení, ani případnými aktualizacemi šablony, kterou používáte.
    2. místo, které zajišťuje zobrazování příslušného prvku (např. custom pole v pluginu ACF) musí umožnit zpracování pomocí filtru, tedy těsně před vlastním vygenerováním výstupu bude volat funkci apply_filters, který umožní modifikaci obsahu. Pokud to plugin nepodporuje, zkuste požádat jeho autora a přidání takové možnost aplikovat filtr, taková žádost je většinou akceptována
    3. vy ve svém vlastním pluginu (bod 1) pomocí funkce add_filter přidáte metodu Zalomeni::texturize jako používaný filtr pro bod 2. Tím zajistíte, že plugin ACF před zobrazením pole sám zavolá plugin Zalomení pro přeformátování zobrazovaného textu a použití tvrdých mezer na správných místech.
    Frank Mejzlik

    (@frankmejzlikdev)

    Zdravím všechny a také bych chtěl poděkovat za velmi užitečný plugin!

    Také jsem potřeboval aby mi Zalomení fungovalo i v ACF, nakonec je to velmi jednoduché.

    Tento kód “prožene” všechny fieldy pluginem Zalomení před tím než je vypsán do šablony funkcí the_field() nebo vrácen get_field()

    function my_acf_format_value( $value, $post_id, $field ) {	
    	// run do_shortcode on all textarea values
    	$value = do_shortcode($value);	
    	
    	// return
    	return Zalomeni::texturize($value);
    }
    add_filter('acf/format_value', 'my_acf_format_value', 10, 3);

    ACF nabízí možnosti jako aplikovat filtry jen na nějaké typy, nebo podle klíčů apod. Více o tomto ZDE

Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘kompatibilita s ACF’ is closed to new replies.