Проблема с возвратом выдержки с указанным количеством символов - PullRequest
0 голосов
/ 11 июня 2011

Я использую следующий код для захвата строки и возврата специального числа символов

<div class="top_posts">
<ul>';
}
elseif($i>1 && $i<=$number_of_posts) 
{
$retour.= "\n" . '<li>';
if($image_url) { $retour .= '<a href="' . get_permalink() . '"><img src="' . get_bloginfo('template_directory') . '/js/timthumb.php?src=' . $image_url . '&amp;h=120&amp;w=180&amp;zc=1" alt="" /></a>'; }
$retour .= '<h6><a href="' . get_permalink() . '">' . the_title("","",false) . '</a></h6>';
$retour.= get_wpe_excerpt('wpe_popular_posts');
$retour.='</li>';
if($i%2==1) 
$retour.= "\n" . '<li class="clear">&amp;</li>'; 
}
$i++;
endforeach;
$retour.='</ul></div>';
return $retour;
}
add_shortcode('popular-posts', 'popular_posts_code');

Рассматриваемый кусок - это часть

$ retour. = Get_wpe_excerpt ('wpe_popular_posts');

который звонит на

function wpe_popular_posts($length) {
    return 55;
}

Однако я все еще получаю текстовую строку без полей - любая помощь приветствуется.

// обновление

Функция get_wpe_excerpt выглядит следующим образом

function get_wpe_excerpt($length_callback='', $more_callback='') {
    if(function_exists($length_callback)){
        add_filter('excerpt_length', $length_callback);
    }
    if(function_exists($more_callback)){
        add_filter('excerpt_more', $more_callback);
    }
    $output = get_the_excerpt();
    $output = apply_filters('wptexturize', $output);
    $output = apply_filters('convert_chars', $output);
    $output = '<p>'.$output.'</p>';
    return $output;
}

Ответы [ 2 ]

0 голосов
/ 12 июня 2011

Теперь убедитесь, как выполняется функция get_wpe_excerpt (). Вы можете попробовать простой код, который я использовал в нескольких темах WordPress.

implode(' ', array_slice(explode(' ', get_the_content()), 0, 55));
0 голосов
/ 12 июня 2011

Вы хотите вернуть первые 55 символов строки?

Попробуйте substr($input, 0, 55);

Однако я действительно не понимаю, что происходит с этим вызовом $retour.= get_wpe_excerpt('wpe_popular_posts'); ... поэтому, возможно, я неправильно понимаю, чего вы пытаетесь достичь?*

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