Si je mets une fonction que je veux utiliser dans un modèle, je peux la mettre dans functions.php
function myfunction(){
echo 'My String';
}
add_action('myfunction','myfunction');
et dans un fichier modèle, mettez:
do_action('myfunction');
Cela ne semble fonctionner que si vous écrivez quelque chose à l'écran. Si je voulais renvoyer une variable à la place. Par exemple.
function myfunction(){
return 'My String';
}
$string = do_action('myfunction');
et capturez-le au lieu de l'imprimer. Comment pourrais-je le faire?
Il y a des filtres pour ça.
Exemple:
add_filter( 'template_filter', 'wpse_102706_filter_callback', 10, 2 );
function wpse_102706_filter_callback( $defaults, $case )
{
$args = wp_parse_args( array(
'some_key' => 'some_modified_value'
), $defaults );
return $args
}
Ensuite, dans votre modèle, ajoutez simplement les valeurs par défaut:
apply_filters( 'template_filter', array( 'some_key' => 'default_val' ), 'single' );
Plus d'informations dans le Codex sur l'API des plugins .