Выводим случайную строку из файла

Wordpress
Давненько я не писал посты для категории «WordPress», но сегодня я решил восполнить этот пробел. Я расскажу как сделать вывод случайной записи из файла в любое место шаблона на WordPress. Думаю многим пригодится, ведь выводить можно все что угодно: от простых шуток и анекдотов до случайных рецептов, например, для кулинарного сайта. Читаем дальше.

Для начала, если кто не понял о чем пойдет речь, то посмотрите наверх. Видите там оранжевую строчку? Она выводится автоматически из специального файла. Можно, конечно, для этого использовать БД. Просто создать там новую таблицу, но я решил пойти по пути наименьшего сопротивления и использовать обычный txt файл. Вот как это выглядит у меня:
случайная строка из файла
Теперь что нам понадобится:
Обычный текстовый файл (я сразу все кодирую в UTF-8 без BOM, чтобы не было лишних проблем с кодировкой). Он будет содержать нужные нам строки, которые мы хотим выводить в случайном порядке.
Для непосредственно вывода я использовал простой код:

<div id="mytagline">
<?php 
$txt = file('путь к txt файлу'); 
$str = $txt[ array_rand($txt) ]; 
unset($txt); 
echo $str; 
?>
</div>

Вставил его в файл header.php своей темы. Все, этого достаточно!

Если подумать где применить такую возможность, то я могу придумать примерно следующее:

  • случайные шутки и анекдоты;
  • случайные цитаты умных людей;
  • случайные строки из песен для сайтах с текстами;
  • рецепты для сайтов с рецептами;
  • рандомные программы для варезников.

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

Вот вроде бы и все, только статья получилась маловата.
О, сегодня дочитал книгу «Голодные игры». За всю свою жизнь я прочитал, наверное, книг 5 :D Я имею ввиду художественную литературу, а вот технической за годы учебы в университете было проработано достаточное количество. Сестра у меня читать любит, поэтому в комнате всегда много книг лежит. Вот мне как-то раз скучно стало, а под руку подвернулись голодные игры. Вспомнив каким полнейшим УГ оказался фильм я было хотел книгу отложить, но прочитав буквально пару страниц оторваться уже не смог ;) Это не постовой и не реклама, никаких ссылок нет, я просто делюсь с вами своими наблюдениями и мыслями, как и положено делать на болге.

Вот теперь точно все. Подписывайтесь, комментируйте. И пусть удача всегда будет на вашей стороне :D

Комментарии:

  1. Алексей — 01.07.2012 16:42

    Сергей, отличный материал! Давно задумывался на одном из своих сайтов выводить случайную цитату. Обязательно сделаю как вы написали! Спасибо за статейку! ;)

  2. myblaze — 01.07.2012 16:58

    Не за что! Все пишут что они рады когда их записи комментируют и хоть это звучит уже как-то заезженно, но я вот реально доволен, когда вижу положительные отзывы ;)

  3. Алексей — 01.07.2012 17:13

    Но вот скажи, Сергей, куда мне еще выразить свое положительное отношение к материалу, как не в комментариях? Прочитать и закрыть страницу — это как-то не интересно. ;)

  4. ExFedot — 01.07.2012 18:10

    Пригодится, нормально! Книгу не читал, но теперь может прочитаю)))

  5. Лысенко Евгений — 01.07.2012 21:40

    То что нужно ;) Записал это мероприятие в план действий по улучшению блога.

  6. нерадивый бухгалтер — 01.07.2012 23:19

    Возьму на заметку, надо только подумать как это лучше реализовать)

  7. myblaze — 02.07.2012 08:27

    Почитай, мне понравилось.

  8. myblaze — 02.07.2012 08:27

    Отлично :)

  9. myblaze — 02.07.2012 08:28

    Если что-то не получится — пишите, помогу чем смогу ;)

  10. нерадивый бухгалтер — 04.07.2012 23:12

    Ой спасибо, я ведь полный кипятильник в этом деле)

  11. Евгений Комиссаров — 07.07.2012 13:23

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

  12. Евгений Комиссаров — 07.07.2012 17:25

    Разобрался.. просто ввожу в одну строку все что мне нужно и оно работает :)

  13. myblaze — 07.07.2012 20:19

    Да, там можно все что угодно писать :) А то что сами разобрались тоже очень хорошо)

  14. Denis — 17.07.2012 19:09

    А я вот например хочу вывести название записи. А для этого надо написать php-код в txt-файле , верно? Я пишу, но на странице так код и выводится «». Не знаете, как решить эту проблему?

  15. myblaze — 17.07.2012 19:27

    Если я правильно понял суть проблемы, то не забудьте расширением у файла с php кодом изменить с .txt на .php.

  16. Denis — 17.07.2012 19:32

    Уже пробовал, не помогло.

  17. myblaze — 17.07.2012 20:21

    Я суть вопроса не понял если честно. Вы сделали все по инструкции?

  18. Denis — 17.07.2012 20:24

    Да, один в один.

  19. myblaze — 17.07.2012 21:56

    Блин чет я туплю. В общем так. Файл с фразами, которые будем выводить — расширение txt. Все, больше файлов не нужно. Теперь код, который эти фразы выводит — приведен в статье. Его вставляем, например в файл sidebar.php, если у вас вордпресс. Если у вас не wordpress, а какая-то другая CMS — все равно должно работать. Если у вас просто выводится текстом код, как пишете, то проверьте, у вас хостинг поддерживает php?

  20. Denis — 17.07.2012 21:59

    У меня просто выводится текстом код. CMS WordPress. PHP поддерживается.

  21. myblaze — 17.07.2012 22:29

    Ок, куда вставляете код? В общем пишите на мыло — так проще будет =) Мыло на странице «Пишите мне».

  22. Denis — 17.07.2012 22:33

    В файл single.php

  23. vvnis — 18.07.2012 09:06

    можно лайки ставить! нужны лайки!

  24. Андрей — 16.10.2014 15:24

    А вы можете сделать такой скрипт, для хостингов без поддержки php как например ucoz?

  25. Дмитрий — 24.04.2015 14:49

    лайк

  26. Akira Tsukizawa — 24.05.2015 20:04

    Полезная штука. Спасибо!

  27. сергей — 04.06.2018 14:53

    привет! а как это сделать по клику? чтоб на кнопу нажал и новая строка но без перезагрузки страницы?

Добавить комментарий