2016-11-12 7 views
0

после некоторых исследований и написания настраиваемой функции выдержки я смог частично решить мою проблему. То, что я хотел достигнуть при написании функции вычитания, основанной на использовании chracter, заключалось в том, чтобы закончить каждую выдержку в одном и том же месте ... Однако это все равно не может этого сделать. Не могли бы вы взглянуть на функцию, может быть, у вас будет и идея, что можно улучшить.Wordpress пользовательский отрывок на основе символов - tweak

My aim was to create excerpt always same lenght despite the content

function get_excerpt(){ 
$excerpt = get_the_content(); 
$excerpt = strip_shortcodes($excerpt); 
$excerpt = strip_tags($excerpt); 
$excerpt = substr($excerpt, 0, 480); 
$excerpt = substr($excerpt, 0, strrpos($excerpt, ' ')); // End with full word 
$excerpt = $excerpt.'...'; 
return $excerpt; 
} 

ответ

0

Część Mkb! Вы должны выбрать «конец же месте» или «заканчиваются полным словом»: P Но попробовать:

function get_excerpt(){ 
    $excerpt = get_the_content(); 
    $excerpt = strip_shortcodes($excerpt); 
    $endNearPos = 480; 

    $temp1 = strrpos (substr($excerpt, 0, $endNearPos) , ' '); 
    $temp2 = strpos ($excerpt , ' ', $endNearPos); 

    if(abs($endNearPos - $temp1) > abs($endNearPos - $temp2)){ 
     return substr($excerpt, 0, $temp2).'...'; 
    } else { 
     return substr($excerpt, 0, $temp1).'...'; 
    } 
} 

Еще не в одном месте, но ближе.

+0

Dzięki! На данный момент это достаточно близко, я дам вам знать, хорошо ли это работает с реальными данными. –