Cum să suprascrii funcțiile parent în temele copil?

23 ian. 2011, 15:28:02
Vizualizări: 17K
Voturi: 31

Am citit diverse resurse și am încercat să înțeleg cum să fac asta, dar din anumite motive nu reușesc să suprascriu funcțiile părinte în tema mea copil.

Folosesc TwentyTen ca temă părinte - poate cineva să-mi spună de ce această funcție din tema mea copil nu suprascrie funcția părinte?

// Suprascrie link-ul "Citește mai mult"
function osu_twentyten_continue_reading_link() {
 return ' <a href="'. get_permalink() . '">' . __( 'Continuă să citești <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' );

Am înțeles că trebuie să elimin filtrul/acțiunea etc. înainte de a-l adăuga din nou, corect?

Mulțumesc,

osu

0
Toate răspunsurile la întrebare 1
1
33

Ar trebui să rulezi codul după configurarea temei.

function osu_twentyten_continue_reading_link() {
    return ' <a href="'. get_permalink() . '">' . __( 'Continuă lectura <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' );
23 ian. 2011 15:34:42
Comentarii

Da. Iar motivul pentru care nu funcționează direct este că codul temei copil este încărcat înaintea celui al temei părinte.

Rarst Rarst
23 ian. 2011 16:37:29