関数(PHP)のカスタマイズ方法

子テーマの制作は、ローカル環境で行うことをお勧めします。
間違った書き方をすると、エラーで画面が真っ白になることもあります。

親テーマの関数(PHP)が、function_exists関数で囲われていない場合

一般的なテーマは囲われていないことが多いかもしれません。
カスタマイズする必要がなく意図的に囲ってない場合もあります。

親テーマ
メタタグタイトルの区切りを「|」から「- -」に変更する方法を例にしています。

function clock_title_separator( $separator ) {
	$separator = '|';
	return $separator;
}
add_filter( 'document_title_separator', 'clock_title_separator' );

子テーマ functions.php
関数名が同じだとエラーが出ます。例の場合、remove_filter()だけだと効きません。

function clock_remove_filter() {
    remove_filter( 'document_title_separator', 'clock_title_separator' );
}
add_action( 'after_setup_theme', 'clock_remove_filter' );

function clock_title_separator_child( $separator ) {
	$separator = '--';
	return $separator;
}
add_filter( 'document_title_separator', 'clock_title_separator_child' );

親テーマの関数(PHP)が、function_exists関数で囲われている場合

親テーマ

if ( ! function_exists( 'clock_title_separator' ) ) :
function clock_title_separator( $separator ) {
	$separator = '|';
	return $separator;
}
endif;
add_filter( 'document_title_separator', 'clock_title_separator' );

子テーマ functions.php
関数名が同じでもエラーが出ません。

function clock_title_separator( $separator ) {
	$separator = '--';
	return $separator;
}
add_filter( 'document_title_separator', 'clock_title_separator' );