Intereting Posts
Добавление инструкции if в значение_content () Объявления о недвижимости Как я могу фильтровать сообщения post_parent в admin? Почему WordPress не может обрабатывать site.com/%postname%/someword? Дает 404 Включить теги в пользовательском типе сообщений Эхо-строка в действии transition_post_status приводит к тому, что «невозможно изменить информацию заголовка – заголовки, уже отправленные» Как выглядит класс, который возвращается из WP_User_Query? URL-адреса WordPress без сообщений Отображение wp_list_bookmarks Плагин WordPress.com Stats требует входа в систему и перенаправления на WordPress.com при входе в систему Параметры плагина не отображаются на странице параметров с помощью вкладки навигации Автоматическая маркировка пользовательского типа сообщения Отображать заголовок текущей категории на странице категории Раздел API пользовательского интерфейса WordPress в разделе SQL QUERY необходимо для получения категории POST (таксономия)? – ДОЛЖНО быть оператором SQL

Сравните the_excerpt () с the_content ()

Есть ли способ сравнить the_excerpt () с the_content (), чтобы узнать, действительно ли the_excerpt () показывает весь контент для публикации? например, если сообщение было особенно коротким.

в конечном счете, я хотел бы иметь ссылку «Читать дальше» в конце отрывков. но я хочу, чтобы он сказал 1 вещь для сообщений, а другой для сообщений в видеоформате (то есть … «смотреть видео» вместо «читать остальное»). но в то же время я не хочу, чтобы это было сделано вручную после выдержки, но у меня много сообщений, которые достаточно короткие, им не нужна ссылка «читать больше», так как the_excerpt отображает полный пост.

но добавление перманентной ссылки на фильтр excerpt_more не совсем прав, поскольку не добавляет ссылку на видеопосты, у которых нет другого контента.

поэтому я застрял между ними. Надеюсь, это имело смысл. если бы не поздно, и я постараюсь объяснить его с утра.

То, что вы пытаетесь сделать с видео, – это то, что создавали почтовые форматы для обработки.

Добавьте это в функции:

add_theme_support( 'post-formats', array( 'video' ) ); 

И затем это для обработки ссылки «Подробнее»:

 if( !has_post_format( 'video' ) ) { echo '<a href="' . get_permalink() . '">Read More&hellip;</a>'; } else { echo '<a href="' . get_permalink() . '">Watch the Video&hellip;</a>'; } 

@mrwweb прав, форматы сообщений очень полезны в большинстве случаев.

В качестве более общего решения вы могли бы комбинировать the_excerpt() и the_content() в одной функции:

 function wpse_51699_conditional_excerpt( $more_link_text = null, $stripteaser = false ) { $excerpt = apply_filters( 'the_excerpt', get_the_excerpt() ); $content = get_the_content( $more_link_text, $stripteaser ); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]&gt;', $content); $stripped_content = strip_tags( $content ); $content_length = mb_strlen( $stripped_content, 'utf-8' ); $excerpt_length = mb_strlen( $excerpt, 'utf-8' ); // $content is just 20% longer than excerpt. Adjust this to your needs. if ( ( $excerpt_length * 1.2 ) >= $content_length ) { print $content; return; } echo $excerpt . $more_link_text; } 

В своей теме вы звоните сейчас …

 wpse_51699_conditional_excerpt( sprintf( '<a href="%1$s">Read more</a>', get_permalink() ) ); 

… вместо the_excerpt(); ,