Сразу хочу заметить, что эта функция из разряда, отображающих информацию, но не всегда полезную. Но я надеюсь, может кому пригодится и кто-то найдет ей достойное применение. Короче, функция выводится после текста и отображает количество слов или количество символов в нем, можно то и другое, на Ваше усмотрение. Данный метод прост в использовании и не требует каких-либо усилий в установке.
Просто откройте файл functions.php и вставте эту функцию в него:
function wcount(){ ob_start(); the_content(); $content = ob_get_clean(); return sizeof(explode(" ", $content)); //количество слов }
После этого, вы можете вызвать функцию, открыв файл, например, single.php, index.php, page.php и т.д., в папке шаблона Вашего сайта /wp-content/themes/название шаблона/ и прописать после строки <?php the_content (); ?> следующее:
<?php echo wcount(); ?>
Предыдущий способ покажет нам количество слов в тексте, но не символов. Например, сколько букв(а,б,в...), различных знаков таких как слеши(/), кавычки(") и т.д. Для этого в нашей функции придется кое что изменить. Вот как она будет выглядеть:
function scount(){ ob_start(); the_content(); $content = ob_get_clean(); return mb_strlen($content); //количество символов }
В результате мы увидим значение, учитывающее пробелы. Если Вы захотите подсчитать количество символов исключая пробелы, то используйте следующую модификацию:
function scount(){ ob_start(); the_content(); $content = ob_get_clean(); $del = str_replace(" ", "", $content); //убрать пробелы return mb_strlen($del); //количество символов без пробелов }
Вывод значений осуществляется на подобии первого примера:
<?php echo scount(); ?>

5 комментариев к “Подсчитать количество слов и символов”
А можно каким-нибудь образом подсчитать количество изображений в записи?
tabu, сразу предупреждаю, что я не специалист в PHP, но возможно такое решение Вам поможет:
Функцию вызываем следующим образом:
а как нить после каждого n <img вставить тег?
Автор,
Во-первых, в классификации строго рекомендуют избегать таких замен str_replace (" ", "", $content);
Во-вторых, это не решает вопрос табуляций и переносов строки, которые формально являются символами.
cmd, Про функцию str_replace () не знал, спасибо за подсказку.
Если нужно перед подсчётом удалить все html теги, пробелы и знаки табуляции, то Вы можете применить следующий способ: