Попытка изменить ссылку "Подробнее" в родительской теме - PullRequest
0 голосов
/ 04 августа 2020

У моих родителей есть специальная функция «Читать дальше». Я хочу изменить текст и добавить в свою дочернюю тему функцию. php.

Вот родительская их функция

add_filter( 'excerpt_length', 'newslite_excerpt_length', 999 );
if ( ! function_exists( 'newslite_implement_read_more' ) ) :

    function newslite_implement_read_more( $more ) {

        $flag_apply_excerpt_read_more = apply_filters( 'newslite_filter_excerpt_read_more', true );
        if ( true !== $flag_apply_excerpt_read_more ) {
            return $more;
        }

        $output = $more;
        $read_more_text = __('continue reading','newslite');
        if ( ! empty( $read_more_text ) ) {
            $output = ' <div class="read-more-text"><a href="' . esc_url( get_permalink() ) . '" class="read-more">' . esc_html( $read_more_text ) . '</a></div>';
            $output = apply_filters( 'newslite_filter_read_more_link' , $output );
        }
        return $output;

    }

endif;
add_action( 'excerpt_more', 'newslite_implement_read_more' );

Ответы [ 3 ]

0 голосов
/ 04 августа 2020

Попробовать код:

   function new_excerpt_more($more) {
       global $post;
       return '… <a href="'. get_permalink($post->ID) . '">' . 'Read More &raquo;' . '</a>';
   }
   add_filter('excerpt_more', 'new_excerpt_more');
0 голосов
/ 04 августа 2020

Я скопировал родительскую функцию (все внутри оператора if) в свои дочерние функции. php файл. затем просто изменил текстовую строку. Это сработало.

function newslite_implement_read_more( $more ) {

    $flag_apply_excerpt_read_more = apply_filters( 'newslite_filter_excerpt_read_more', true );
    if ( true !== $flag_apply_excerpt_read_more ) {
        return $more;
    }

    $output = $more;
    $read_more_text = __('More','newslite');
    if ( ! empty( $read_more_text ) ) {
        $output = ' <div class="read-more-text"><a href="' . esc_url( get_permalink() ) . '" class="read-more">' . esc_html( $read_more_text ) . '</a></div>';
        $output = apply_filters( 'newslite_filter_read_more_link' , $output );
    }
    return $output;

}
0 голосов
/ 04 августа 2020

Я бы просто удалил их функцию и создал свою собственную.

add_action( 'excerpt_more', 'custom_newslite_implement_read_more', 9999 );
function custom_newslite_implement_read_more( $more ) {

    remove_filter( 'excerpt_length', 'newslite_excerpt_length', 999 );

    $flag_apply_excerpt_read_more = apply_filters( 'custom_newslite_filter_excerpt_read_more', true );
    if ( true !== $flag_apply_excerpt_read_more ) {
        return $more;
    }

    $output = $more;
    $read_more_text = __('read more','newslite'); // change read more to whatever you want
    if ( ! empty( $read_more_text ) ) {
        $output = ' <div class="read-more-text"><a href="' . esc_url( get_permalink() ) . '" class="read-more">' . esc_html( $read_more_text ) . '</a></div>';
        $output = apply_filters( 'custom_newslite_filter_read_more_link' , $output );
    }
    return $output;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...