Выводим случайную строку из файла
Давненько я не писал посты для категории «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
Комментарии:
Сергей, отличный материал! Давно задумывался на одном из своих сайтов выводить случайную цитату. Обязательно сделаю как вы написали! Спасибо за статейку! ;)
Не за что! Все пишут что они рады когда их записи комментируют и хоть это звучит уже как-то заезженно, но я вот реально доволен, когда вижу положительные отзывы ;)
Но вот скажи, Сергей, куда мне еще выразить свое положительное отношение к материалу, как не в комментариях? Прочитать и закрыть страницу — это как-то не интересно. ;)
Пригодится, нормально! Книгу не читал, но теперь может прочитаю)))
То что нужно ;) Записал это мероприятие в план действий по улучшению блога.
Возьму на заметку, надо только подумать как это лучше реализовать)
Почитай, мне понравилось.
Отлично :)
Если что-то не получится — пишите, помогу чем смогу ;)
Ой спасибо, я ведь полный кипятильник в этом деле)
да для перелинковки то что нужно:) А можно как то сделать что бы еще и миниатюры возле текста выводились ?
Разобрался.. просто ввожу в одну строку все что мне нужно и оно работает :)
Да, там можно все что угодно писать :) А то что сами разобрались тоже очень хорошо)
А я вот например хочу вывести название записи. А для этого надо написать php-код в txt-файле , верно? Я пишу, но на странице так код и выводится «». Не знаете, как решить эту проблему?
Если я правильно понял суть проблемы, то не забудьте расширением у файла с php кодом изменить с .txt на .php.
Уже пробовал, не помогло.
Я суть вопроса не понял если честно. Вы сделали все по инструкции?
Да, один в один.
Блин чет я туплю. В общем так. Файл с фразами, которые будем выводить — расширение txt. Все, больше файлов не нужно. Теперь код, который эти фразы выводит — приведен в статье. Его вставляем, например в файл sidebar.php, если у вас вордпресс. Если у вас не wordpress, а какая-то другая CMS — все равно должно работать. Если у вас просто выводится текстом код, как пишете, то проверьте, у вас хостинг поддерживает php?
У меня просто выводится текстом код. CMS WordPress. PHP поддерживается.
Ок, куда вставляете код? В общем пишите на мыло — так проще будет =) Мыло на странице «Пишите мне».
В файл single.php
можно лайки ставить! нужны лайки!
А вы можете сделать такой скрипт, для хостингов без поддержки php как например ucoz?
лайк
Полезная штука. Спасибо!
привет! а как это сделать по клику? чтоб на кнопу нажал и новая строка но без перезагрузки страницы?