如何重写子主题中的父函数?

时间:2011-01-23 作者:Osu

我一直在四处阅读,试图找出如何做到这一点,但由于某种原因,我似乎无法覆盖子主题中的父函数。

我使用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

1 个回复
最合适的回答,由SO网友:sorich87 整理而成

您应该在主题设置之后运行代码。

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

结束

相关推荐

获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s