user
  • 0
Гуру

Как переопределить функцию в functions.Php родительской темы?

  • 0

Я создал дочернюю тему двадцать десять. Я попытался переопределить функцию, написанную ниже

    /**
 * 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, как показано ниже.

ф

 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.

Любая помощь будет оценена. заранее спасибо

Share
  1. Привет, используя действие «Ссылка на функцию/удаление » и « Ссылка на функцию/удаление фильтра ». Только с помощью этих двух функций мы можем переопределить функции.

    • 0
    • Спасибо, Рамкумар… Я использовал это, и это сработало add_action(‘after_setup_theme’, ‘my_child_theme_setup’); function my_child_theme_setup() { // Мы предоставляем собственный фильтр для excerpt_length (или используем нефильтрованное значение) remove_filter(‘excerpt_more’, ‘twentyten_auto_excerpt_more’); }

      • 0

Оставить ответ

You must login to add an answer.