Come sovrascrivere le funzioni genitore nei temi figlio?


29

Ho letto e cercato di capire come farlo, ma per qualche ragione non riesco a ignorare le funzioni dei genitori nel tema del mio bambino.

Sto usando TwentyTen come genitore - qualcuno può dirmi perché questa funzione nel mio tema figlio non ha la precedenza sulla funzione genitore?

// 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' );

Pensavo che dovessi rimuovere il filtro / azione ecc. Prima di aggiungerlo di nuovo giusto?

Grazie,

OSU

Risposte:


32

È necessario eseguire il codice dopo l'installazione del tema.

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
Sì. E la ragione per cui non funziona direttamente è che il codice del tema figlio viene caricato prima del tema principale.
Rarst
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.