get_the_excerpt() WP 0.71

Отримує цитату (уривок) посту. Використовується усередині циклу WP.

Щоб одразу вивести на екран цитату, можна використовувати функцію the_excerpt() , яка до того ж додає параграф HTML ( <p></p>) до цитати.

Текст обрізається функцією wp_trim_excerpt()

Основа для:
the_excerpt_rss() ,
the_excerpt()

Хуки з функції
has_excerpt() .

  • Якщо вказана «цитата» (уривок), отримає значення поля «цитата».

  • Для постів захищених паролем, завжди повертає рядок із текстом: “Немає цитати, тому що пост захищений паролем.”.
  • Використання

    $ excerpt = get_the_excerpt ($ post);
    $post
    (число/WP_Post)
    ID або об’єкт запису, цитату якого потрібно отримати. З версії 4.5.


    Типово: null (поточний пост)

    Приклади

    1

    #1 Висновок цитати з обмеженням символів

    Використовуємо функцію get_the_excerpt(), щоб вивести на екран цитату обмежену максимум символів:

    the_excerpt_max_charlength(140);
    
    function the_excerpt_max_charlength( $charlength ){
    	$excerpt = get_the_excerpt();
    	$ Charlength ++;
    
    	if ( mb_strlen ( $ excerpt ) > $ charlength ) {
    		$ subex = mb_substr ($ excerpt, 0, $ charlength - 5);
    		$exwords = explode('', $subex);
    		$excut = - (mb_strlen ($ exwords [count ($ exwords) - 1])));
    		if ($ excut < 0) {
    			echo mb_substr ($ subex, 0, $ excut);
    		} else {
    			echo $ subex;
    		}
    		echo '[...]';
    	} else {
    		echo $excerpt;
    	}
    }

    Дивіться також нотатку щодо заміни цієї функції на свою: Обрізка тексту та/або заміна стандартної функції the_excerpt()

    0

    #2 Приклад перевірки наявності цитати.

    Якщо цитата не вказана, виводимо свій текст:

    $my_excerpt = get_the_excerpt();
    if ($ my_excerpt) {
    	echo wpautop($ my_excerpt);
    }
    else {
    	echo wpautop('Цитата не встановлена.');
    }

    список змін

    З версії 0.71Введено.
    З версії 4.5.0Introduced $post parameter.

    Код get_the_excerpt() WP 6.0.2

    function get_the_excerpt( $post = null ) {
    	if ( is_bool( $post ) ) {
    		_deprecated_argument( __FUNCTION__, '2.3.0');
    	}
    
    	$post = get_post($post);
    	if (empty($post)) {
    		return '';
    	}
    
    	if (post_password_required($post)) {
    		return __( 'There is no excerpt because this is a protected post.' );
    	}
    
    	/**
    	 * Filters retrieved post excerpt.
    	 *
    	 * @ Since 1.2.0
    	 * @since 4.5.0 Introduced the `$post` parameter.
    	 *
    	 * @param string $post_excerpt The post excerpt.
    	 * @param WP_Post $post Post об'єкт.
    	 */
    	return apply_filters( 'get_the_excerpt', $post->post_excerpt, $post);
    }

    Залишити відповідь

    Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *