V písaní doplnkov Wordpress som úplne nový, takžena začiatok sa snažím vytvoriť jednoduchý, ktorý len upraví reťazec. Scenár som napísal pred časom a viem, že funguje. Ale aby som ho použil pre Wordpress, chcem ho použiť na názvy príspevkov. Keď som reťazec nahradil funkciou „get_the_title ()“, vráti sa biela obrazovka. Odizoloval som to na:
function display_title() {
echo get_the_title();
}
add_action("the_title", "display_title");
Týmto sa vráti biela obrazovka. Takže si myslím, že to musí byť funkcia „get_the_title ()“. Môže mi niekto vysvetliť, prečo to nefunguje, a možno iný spôsob načítania reťazca názvu?
odpovede:
4 pre odpoveď č. 1Ako hovorí John the_title
je skôr filtrom ako akčným háčikom, hoci je to vaša funkcia vôľa byť volaný bez ohľadu na to, či to zaregistrujete pomocou add_filter
alebo add_action
.
Váš problém je, že s filtrami svojej funkciesa očakáva, že vráti hodnotu (zvyčajne upravená verzia zadaného argumentu). Ak chcete upraviť názov pomocou tohto filtra, mali by ste urobiť niečo také:
function display_title($title) {
$title .= "!"; // Do something with the title string here
return $title;
}
add_filter("the_title", "display_title");
1 pre odpoveď č. 2
No, pre jednu vec „the_title“ nie je akcia,je to filter. Takže táto funkcia sa nikdy nespáli. Takže to nie je chyba tejto funkcie, je to pravdepodobne niečo iné. Navrhoval by som prečítať si plugin API a naučiť sa rozdiel medzi akciami a filtrami. Filtre sú špeciálne navrhnuté tak, aby robili to, čo chcete, jednoduchým spôsobom:
http://codex.wordpress.org/Plugin_API/