วิธีการแทนที่ฟังก์ชั่นหลักในธีมลูก?


29

ฉันได้อ่านไปรอบ ๆ และพยายามหาวิธีการทำสิ่งนี้ แต่ด้วยเหตุผลบางอย่างฉันไม่สามารถแทนที่ฟังก์ชั่นหลักในธีมลูกของฉันได้

ฉันใช้ TwentyTen ในฐานะผู้ปกครอง - ทุกคนสามารถบอกฉันได้ว่าทำไมฟังก์ชั่นนี้ในธีมลูกของฉันจึงไม่สามารถเอาชนะฟังก์ชั่นหลักได้

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

ฉันคิดว่าคุณต้องลบตัวกรอง / การกระทำ ฯลฯ ก่อนที่จะเพิ่มอีกครั้งใช่มั้ย

ขอบคุณ

OSU

คำตอบ:


32

คุณควรเรียกใช้รหัสหลังจากตั้งค่าธีม

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
อ๋อ และสาเหตุที่ใช้ไม่ได้โดยตรงก็คือโหลดรหัสชุดรูปแบบของเด็กก่อนหน้าชุดรูปแบบหลัก
Rarst
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.