WordPress многоточие на заголовке

Я попытался сделать ту же процедуру в этом посте:Заголовки WordPress: Если длиннее 50 символов, покажите многоточие

но не повезло, вы можете сказать, что я сделал не так?

вот мой фрагмент

function wpfp_list_most_favorited($limit=5) {
global $wpdb;
$query = "SELECT post_id, meta_value, post_status FROM $wpdb->postmeta";
$query .= " LEFT JOIN $wpdb->posts ON post_id=$wpdb->posts.ID";
$query .= " WHERE post_status='publish' AND meta_key='".WPFP_META_KEY."' AND meta_value > 0 ORDER BY ROUND(meta_value) DESC LIMIT 0, $limit";
$results = $wpdb->get_results($query);
if ($results) {
echo "<ul>";
foreach ($results as $o):
$p = get_post($o->post_id);
$post = mb_strimwidth($p, 0, 20, '...');
echo "<li>";
echo "<a href='".get_permalink($o->post_id)."' title='". $p->post_title ."'>" . $post->post_id . "</a> ($o->meta_value)";
echo "</li>";
endforeach;
echo "</ul>";
}

}

0

Решение

У меня есть следующая функция для себя, она отлично работает.

Вверху моего файла functions.php я использую следующий код:

function truncate($text, $chars = 25) {
$text = $text." ";
$text = substr($text,0,$chars);
$text = substr($text,0,strrpos($text,' '));
$text = $text."...";
return $text;
}

После этого вы можете использовать его где угодно:

<?php echo truncate($post->post_title, 50); ?>
OR
<?php echo "<a href='".get_permalink($o->post_id)."' title='". $p->post_title ."'>" . truncate($post->post_title,50) . "</a> ($o->meta_value)"; ?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector