我正在尝试使用我的子主题function.php文件中的函数覆盖父主题function.php文件,但我收到了一些错误。这是迄今为止我做过的事情。
function remove_et_postinfo_meta_actions() {
remove_action('after_setup_theme','et_postinfo_meta',3);
}
add_action('init', 'remove_et_postinfo_meta_actions');
add_action('after_setup_theme', 'cc_et_postinfo_meta', 3);
if ( ! function_exists( 'cc_et_postinfo_meta' ) ){
function cc_et_postinfo_meta( $postinfo, $date_format, $comment_zero, $comment_one, $comment_more ){
global $themename;
$postinfo_meta = '';
if ( in_array( 'author', $postinfo ) ){
$postinfo_meta .= ' ' . esc_html__('by',$themename) . ' ' . et_get_the_author_posts_link();
}
if ( in_array( 'date', $postinfo ) )
$postinfo_meta .= ' ' . esc_html__('on',$themename) . ' ' . get_the_time( $date_format );
if ( in_array( 'categories', $postinfo ) )
$postinfo_meta .= ' ' . esc_html__('in',$themename) . ' ' . get_the_category_list(', ');
if ( in_array( 'comments', $postinfo ) )
$postinfo_meta .= ' ' . et_get_comments_popup_link( $comment_zero, $comment_one, $comment_more );
if ( '' != $postinfo_meta ) $postinfo_meta = __('Posted',$themename) . ' ' . $postinfo_meta;
echo $postinfo_meta;
}
}
答案 0 :(得分:1)
您遇到的错误是什么?
如WordPress codex中所述:
"与style.css不同,子主题的functions.php不会覆盖父对象的对应部分。相反,它除了父代的functions.php之外还被加载。 (具体来说,它是在父文件之前加载的。)" (来源:http://codex.wordpress.org/Child_Themes)
因此,无法覆盖functions.php文件,但您可以将自己的函数添加到子主题中的functions.php文件中。请务必为自己的函数添加前缀,以免与父主题中的函数发生冲突。