it-swarm-eu.dev

V jaké prioritě přepíše add_filter základní funkce?

Píšu plugin, který na konec příspěvku přidává další miniatury, zaškrtávací políčka atd.

Snažím se přijít na to, jak správně použít add_filter.

V podstatě mám

add_filter('the_content', 'do_some_magic_at_the_end');

A tam je odpovídající do_some_magic_at_the_end funkce, která trvá $ obsah a připojí nějaké věci k němu.

Chci, aby byl tento filtr přidán za všechny ostatní filtry. Nechci, aby přepsal jakýkoliv jiný filtr. Dokumenty uvádějí, že výchozí prioritou je 10, takže předpokládám, že je jednoduše přidán do řetězce filtrů, které se spouští na webu the_content.

Pokud nastavím prioritu na 1, přepíše všechny základní funkce?

5
jim

Neexistuje žádná definitivní odpověď na to, protože neexistuje žádné omezení pro priority vysoké/nízké. Také pluginy mohou být mnohem méně opatrné než jádro.

  • 11 je dobré číslo, které má být po výchozí prioritě;
  • 20 být pozdě;
  • více než tisíce lidí je dobré být později než kdokoli, kdo do svých tisíců nedal více nul;
  • 9 je dobré číslo mírně starší než výchozí;
  • 1 být opravdu brzy;
  • -1 být téměř definitivně první, protože jen velmi málo lidí si pamatuje, že priority mohou jít negativně.

Celkově, pokud chcete mít jistotu, že se nacházíte před ostatními funkcemi, budete muset vypsat vše, co je přidáno k zavěšení ve vašem specifickém nastavení a ladění přes to. Možná budete muset vytvořit funkci wrapper pro přidání filtrů ve specifickém stupni načítání nebo dokonce přesunutí dalších filtrů.

A pokud děláte plugin pro distribuci, můžete odhadnout, ale nemůžete si být jisti.

14
Rarst

Nic nepřepíšete. Každá úroveň priority je vlastně list filtrů, které se mají použít. Pokud máte několik různých věcí zaháknutí do stejného filtru se stejnou prioritou, mají all get run.

2
Dougal Campbell