2014-08-31 1 views
1

Мне интересно, как сделать следующее:WordPress: Отрывок после текста, но перед изображениями

Я хочу сделать выдержку после 45 слов, но если текст поста составляет менее 45 слов и изображений включены в сообщении, тогда тег больше должен быть включен сразу после текста.

1st: Я был бы доволен этим решением. 2nd: Великий может быть в таком случае альтернативное предложение, например. «Нажмите, чтобы посмотреть фотографии».

Надеюсь, это имеет смысл любому, кто это читает.

В настоящее время у меня есть следующие:

/*-----------------------------------------------------------------------------------*/ 
/* Sets the post excerpt length to 15 characters. 
/*-----------------------------------------------------------------------------------*/ 

function moka_excerpt_length($length) { 
    return 45; 
} 
add_filter('excerpt_length', 'moka_excerpt_length'); 


/*-----------------------------------------------------------------------------------*/ 
/* Returns a "Continue Reading" link for excerpts 
/*-----------------------------------------------------------------------------------*/ 

function moka_excerpt_more($more) { 
    return '&hellip; <a class="read-more" href="'. get_permalink(get_the_ID()) . '">' . __('Read more', 'moka') . '</a>'; 
} 
add_filter('excerpt_more', 'moka_excerpt_more'); 

Любая помощь очень ценится.

Большое спасибо и добрые пожелания.

+0

Вы должны посмотреть в файлах шаблонов тем. Если вы хотите отредактировать выдержки для вашего index.php, вы можете сделать if/else на этой странице. – Andre

+0

Хорошо, спасибо за подсказку. Как выглядит if/else? –

ответ

0

Я думаю, вы можете написать код самостоятельно. Вы можете добавить фильтр в the_content() или альтернативный способ: См. Так: http://wordpress.org/support/topic/executing-a-function-only-if-a-post-contains-an-image, вы можете проверить, есть ли у the_content() img или нет ?! И для подсчета слов в the_content() этот ответ полезным: Counting words on a html web page using php

+0

Спасибо за ваш ответ. К сожалению, я сам не могу написать код. Мои знания меньше, чем базовые. Я просто хочу улучшить ссылку Wordpress еще раз, проверяя, включено ли изображение, когда в столбце слова меньше 45. –

0

Я сделал некоторые более глубокие исследования и пришли к следующему. Я знаю, что это не сработает, но некоторые части работают как автономные, но я не могу собрать все вместе. Может быть, кто-то может помочь мне указать направление в правильном направлении?

function individual_excerpt_more($more) { 
if { 
    function word_count() { 
     $content = get_post_field('post_content', $post->ID); 
     $word_count = str_word_count(strip_tags($content)); 
     return $word_count; <45 // (less than 45 words) 
     } 
    && $content = $post->post_content; 
    if(has_shortcode($content, 'gallery', 'video')) { 
    // The content has a [gallery] & [video] short code, so this check returned true. 
    } 
    return '&hellip; <ins><a class="read-more" href="'. get_permalink(get_the_ID()) . '">Read more</a></ins>'; 
    } 
else { 
    function theme_excerpt_length($length) { 
     return 45; 
    } 
    add_filter('excerpt_length', ’theme_excerpt_length'); 
} 
add_filter('excerpt_more', 'individual_excerpt_more'); 
Смежные вопросы