Вывод отфильтрованного текста в Wordpress

Автор: БезМозгоFF  //  Категория: wordpress, Новичкам

В Wordpress, как оказалось, нет штатных средств чтобы вывести из определенного поста только текст и только определенное количество символов с обрезкой до слова.

the_content() – выводит весь контент из поста, включая форматирование, картинки итд

the_excerpt() – выводит значение поля “цитата” – анонс поста, либо если анонса нет, то выводятся фиксированное число слов – первые 55 слов.

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

Функцию просто добавьте в functions.php своей темы и используйте в цикле при выводе постов.

function themefunction_content($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(']]>', ']]>', $content);
 $content = strip_tags($content);

 if (strlen($content)>$max_char) 

 {$space = strpos($content," ",$max_char);

 if (strlen($_GET['p']) > 0) {
 echo "<p>";
 echo $content;
 echo "&nbsp;<a href='";
 the_permalink();
 echo "'>"."Read More &rarr;</a>";
 echo "</p>";
 } else if ((strlen($content)>$max_char) && $space) {
 $content = substr($content,0,$space);
 $content = $content;
 echo "<p>";
 echo $content;
 echo "...";
 echo "&nbsp;<a href='";
 the_permalink();
 echo "'>".$more_link_text."</a>";
 echo "</p>";
 } else {
 echo "<p>";
 echo $content;
 echo "&nbsp;<a href='";
 the_permalink();
 echo "'>"."Read More &rarr;</a>";
 echo "</p>";
 }
 } else {
 $content = substr($content,0,strpos($content,"Популярность"));
 echo "<p>";
 echo $content;
 echo "...";
 echo "&nbsp;<a href='";
 the_permalink();
 echo "'>".$more_link_text."</a>";
 echo "</p><br>";

 }
}

Вот и все) Вызываем, например, так <?php themefunction_content(500,’далее’);?> где 500 – количество символов. Результат работы приводить не буду, думаю и так все понятно.

Оптимизация WordPress

Автор: БезМозгоFF  //  Категория: wordpress

image

Сегодня моя любовь к WordPress обернулась большой проблемой. Общая посещаемость ВП-сайтов на аккаунте достигла порядка 10к в сутки и сервер благополучно лег на пол дня, принеся мне много проблем, денежных потерь и бесценного опыта =)

Было решено провести первичную оптимизацию блога.

 

 

 

Было:Запросов: 40 | 0.703 Потребление памяти: 17.55MB

Стало:Запросов: 25 | 0.703 Потребление памяти: 15.05MB

Изменения на первый взягляд небольшие, но при такой посещаемости это очень и очень неплохо.

 

Итак, что было сделано:

1. Были убраны лишние плагины

2. Было уменьшено число постов на главной, уменьшено число комментариев в виджете “последние комментарии” (здесь эффект пропорциональный числу выводимых комментариев)

3.  Пару мегабайт памяти было выручено за счет облегчения файла локализации WordPress, подробнее об этом здесь

4. Большинство запросов в коде вида bloginfo(‘name’) заменил на статику.

5. И, пожалуй, самое главное – плагин WordPress Super Cache, который создает статические html файлы, которые отдаются непосредственно веб-фронтенду без обработки на PHP и без участия MySQL.

 

Тест драйв будет завтра, надеюсь хостинг устоит на этот раз и оттянет необходимость переезжать на выделенный сервер.

Хинт:

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

<?php if (current_user_can(‘level_10′)){ ?>
<?php echo ” Запросов: ” . get_num_queries() . ” | “; timer_stop(1). “секунд”;
if ( function_exists(‘memory_get_usage’) )
echo ‘ Потребление памяти: ‘ . round(memory_get_usage()/1024/1024, 2) . ‘MB ‘; ?>
<?php }?>

 Страница 1 из 1  1