web-dev-qa-db-ja.com

親テーマのfunctions.phpで機能をオーバーライドするには?

私はテーマ20の子を作りました。下記の関数を上書きしようとしました

    /**
 * Returns a "Continue Reading" link for excerpts
 *
 * @since Twenty Ten 1.0
 * @return string "Continue Reading" link
 */
function twentyten_continue_reading_link() {
    return ' <a href="'. get_permalink() . '">' . __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) . '</a>';
}

/**
 * Replaces "[...]" (appended to automatically generated excerpts) with an Ellipsis and twentyten_continue_reading_link().
 *
 * To override this in a child theme, remove the filter and add your own
 * function tied to the excerpt_more filter hook.
 *
 * @since Twenty Ten 1.0
 * @return string An Ellipsis
 */
function twentyten_auto_excerpt_more( $more ) {
    return ' &hellip;' . twentyten_continue_reading_link();
}
add_filter( 'excerpt_more', 'twentyten_auto_excerpt_more' );

子テーマでこれをオーバーライドし、フィルタを削除し、excerpt_moreフィルタフックに関連付けられた独自の関数を追加するように言われます。私は親テーマフォルダに変更を加えたくないので、子テーマフォルダにfunctions.phpを作成しました。私は以下のように子ファイルfunctions.phpに自分の関数を書きます。

f

 function twentyten_continue_reading_link_() {
    return ' <a href="'. get_permalink() . '">' . __( 'READ MORE', 'twentyten' ) . '</a>';
}


function twentyten_auto_excerpt_more_( $more ) {
    return ' &hellip;' . twentyten_continue_reading_link_();
}
add_filter( 'excerpt_more', 'twentyten_auto_excerpt_more_' );

しかし、私は新しいものが動作するようにするために親で書かれたフィルタをコメントする必要があります。親ファイルのfunctions.phpを変更せずに行うことは可能ですか。

任意の助けをいただければ幸いです。前もって感謝します

4
user478

こんにちは 関数の参照/ removeアクション および 関数の参照/ remove filter の使用これらの2つの関数を使用した場合のみ、関数を上書きすることができます。

4
Ramkumar M