Comment remplacer les fonctions parent dans les thèmes enfants?


29

J'ai lu et essayé de comprendre comment le faire, mais pour une raison quelconque, je n'arrive pas à remplacer les fonctions parent dans mon thème enfant.

J'utilise TwentyTen en tant que parent - quelqu'un peut-il me dire pourquoi cette fonction dans mon thème enfant ne remplace pas la fonction parent s'il vous plaît?

// Override read more link
function osu_twentyten_continue_reading_link() {
 return ' <a href="'. get_permalink() . '">' . __( 'Read on <span class="meta-nav">&rarr;</span>', 'twentyten-child' ) . '</a>';
}
function osu_twentyten_auto_excerpt_more( $more ) {
 return ' &hellip;' . osu_twentyten_continue_reading_link();
}
remove_filter( 'excerpt_more', 'twentyten_auto_excerpt_more' );
add_filter( 'excerpt_more', 'osu_twentyten_auto_excerpt_more' );

Je pensais que vous deviez supprimer le filtre / l'action, etc. avant de le rajouter, non?

Merci,

osu

Réponses:


32

Vous devez exécuter le code après la configuration du thème.

function osu_twentyten_continue_reading_link() {
    return ' <a href="'. get_permalink() . '">' . __( 'Read on <span class="meta-nav">&rarr;</span>', 'twentyten-child' ) . '</a>';
}

function osu_twentyten_auto_excerpt_more( $more ) {
    return ' &hellip;' . osu_twentyten_continue_reading_link();
}

function my_child_theme_setup() {
    remove_filter( 'excerpt_more', 'twentyten_auto_excerpt_more' );
    add_filter( 'excerpt_more', 'osu_twentyten_auto_excerpt_more' );
}

add_action( 'after_setup_theme', 'my_child_theme_setup' );

2
Oui. Et la raison pour laquelle cela ne fonctionne pas directement est que le code du thème enfant est chargé avant le thème parent.
Rarst
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.