Wordpress аналог auto_more

12 3
Amigochief
На сайте с 30.06.2008
Offline
100
2436

Подскажите, пожалуйста, аналогичный плагин, или что добавить в код темы, чтоб автоматом краткая новость обрезалась например на 100 символах.

А то с auto_more как то не сложилось у меня, то вообще не рубает, то слишком коротко и картинки вырезает и размер краткой не изменяется в настройках.

Спасибо.

DiAksID
На сайте с 02.08.2008
Offline
236
#1


какой-н класс
...
/**
*
*/
public static function ellipsis( $str, $max = 512, $end = '...' )
{
if ( ($length = strlen($str)) > $max )
{
$array = explode(' ', $str);
$str = '';
$i = 0;
while ( strlen($str) < $max )
{
$str .= ($str ? ' ' : '') . $array[$i++];
}
if ( strlen($str) < $length )
{
$str .= $end;
}
}
return $str;
}
...
show must go on !!!...
Amigochief
На сайте с 30.06.2008
Offline
100
#2
DiAksID:

какой-н класс
...
/**
*
*/
public static function ellipsis( $str, $max = 512, $end = '...' )
{
if ( ($length = strlen($str)) > $max )
{
$array = explode(' ', $str);
$str = '';
$i = 0;
while ( strlen($str) < $max )
{
$str .= ($str ? ' ' : '') . $array[$i++];
}
if ( strlen($str) < $length )
{
$str .= $end;
}
}
return $str;
}
...

Спасибо, а в какой файл и куда именно это вставить?🙄

DiAksID
На сайте с 02.08.2008
Offline
236
#3

а хз, у меня к WP идиосинкразия 😂 но должно же быть в этом уродце способ подключения кастомных функций. главное - в ядро не засовывайте, а то после обновы слетит...

ETNO
На сайте с 16.06.2008
Offline
117
#4
DiAksID:
а хз, у меня к WP идиосинкразия 😂 но должно же быть в этом уродце способ подключения кастомных функций. главное - в ядро не засовывайте, а то после обновы слетит...

зачем тогда советуете человеку, если сами не разбираетесь.

Вот я писал давно статью про автоминиатюры и автогенерацию анонсов. Там вам нужна функция

<?php the_content_limit(70, ""); ?>

Этот код вставите туда, где нужен вывод.

И нужно еще саму функцию добавить в functions.php

function the_content_limit($max_char, $more_link_text = '(more...)', $stripteaser = 0, $more_file = '') {

$content = get_the_content($more_link_text, $stripteaser, $more_file);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]&gt;', $content);
$content = strip_tags($content);

if (strlen($_GET['p']) > 0) {
echo "<div>";
echo $content;
echo "</div>";
}
else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) {
$content = substr($content, 0, $espacio);
$content = $content;
echo "<div>";
echo $content;
echo "...";
echo "</div>";
}
else {
echo "<div>";
echo $content;
echo "</div>";
}
}
Wordpress тема для заработка на партнерках (http://themeforest.net/item/rehub-directory-shop-coupon-affiliate-theme/7646339). Создание каталогов с фильтрацией, расширенный функционал обзоров, layout builder, еженедельное обновление.
Amigochief
На сайте с 30.06.2008
Offline
100
#5

ETNO, в functions.php можно в конце добавить? Ошибку синтаксическую выдаёт и это

<?php the_content_limit(70, ""); ?>
куда не вставлю всё равно ошибка, всё таки куда его нужно всунуть?
Mad_Man
На сайте с 10.11.2008
Offline
162
#6
ETNO:
И нужно еще саму функцию добавить в functions.php

Как минимум одно лишнее условие, нарушение парадигм ООП и "$content = $content;", которое я пока не осилил мозгом.

И вообще, есть же the_excerpt() + замечательный плагин Advanced Excerpt и подробный ман.

ETNO
На сайте с 16.06.2008
Offline
117
#7
Amigochief:
ETNO, в functions.php можно в конце добавить? Ошибку синтаксическую выдаёт и это
<?php the_content_limit(70, ""); ?>
куда не вставлю всё равно ошибка, всё таки куда его нужно всунуть?

понятно, просто код, который я дал, форум решил исковеркать, поэтому он не рабочий. В общем, юзайте этот плагин например http://wordpress.org/extend/plugins/limit-post-add-on/ - там тоже самое, только не надо будет ничего добавлять в functions.php. Просто активируйте и все.

А в нужное место добавите

<?php the_content_limit(70, ""); ?>


---------- Добавлено 07.01.2013 в 23:04 ----------

Mad_Man:
Как минимум одно лишнее условие, нарушение парадигм ООП и "$content = $content;", которое я пока не осилил мозгом.
И вообще, есть же the_excerpt() + замечательный плагин Advanced Excerpt и подробный ман.

не знаю что там за нарушение парадигм, я брал его на форуме wordpress, у меня он работает нормально на многих сайтах и это самое главное

Amigochief
На сайте с 30.06.2008
Offline
100
#8

ETNO, вот в ридми к плагину написано

5. Replace the_content(); with the_content_limit(200, "continue..."); or
6. Replace the_content(); with get_the_content(200, "continue...");

если подставляю первый вариант то всё нормально, новость краткая отображается как и хотел но дальше плывёт шаблон, а если вставить

<?php get_the_content_limit(200, "more..."); ?>
всё замечательно вот только в краткой новости перестают отображаться картинки.

Глюк шаблона или всё таки плагина? и как поправить можно?

upd любой шаблон плывёт при замене на the_content_limit(200, "continue...")

с этим плагином, я так понял, шаблон править не надо http://wordpress.org/extend/plugins/wp-limit-posts-automatically/ но тоже плывёт сайт

DiAksID
На сайте с 02.08.2008
Offline
236
#9
ETNO:
... не знаю что там за нарушение парадигм, я брал его на форуме wordpress, у меня он работает нормально на многих сайтах и это самое главное

ну и

ETNO:
зачем тогда советуете человеку, если сами не разбираетесь...

"спецы" по WP радуют регулярно 😂

Amigochief
На сайте с 30.06.2008
Offline
100
#10

Больше вариантов не подкинете?

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий