Why to check if function doesn’t exists in functions.php?

I see in the twentyeleven theme, before most custom functions they check if it exists

<?php if ( ! function_exists( 'twentyeleven_comment' ) ) :
function twentyeleven_comment( $comment, $args, $depth ) {

Why is that?

1 Answer
1

A child theme may have declared these functions already with a slightly different inner logic. The functions.php from the child theme is loaded before the file from the parent theme. Without this check you would get the Cannot redeclare … error.

Plugins can create functions too, so this problem is not restricted to the themes that are written with child themes in mind.

Leave a Comment