Работает система Orphus

WordPress для каждого на русском языке!

  • RSS

Учебник по WordPress

Полезные советы

Хитрости

Шоукейс

О проекте

Темы WordPress на русском!

Эволюция пользовательского интерфейса WordPress (2003 – 2009)

Четверг, 14 января 2010 - Рекомендуем, Статьи и советы

WordPress каким мы видим его сейчас – это продукт любви, которой наградило его сообщество. Без идей, пожеланий, рекоммендаций и советов пользователей и тяжелой работы команды разработчиков, которая воплощала это всё в жизнь, из него никогда бы не получилось того, что есть сейчас. Сегодня WordPress предстает перед нами мощной полноценной CMS, подходящей почти под любые нужды. [...]

читать дальше

Продвинутые советы по разработке сайтов на WordPress

Понедельник, 27 июля 2009 - Рекомендуем, Статьи и советы

Последние релизы дают понять, что WordPress расширил границы своих возможностей далеко за пределы блоггинга, приобретая все больше качеств серьёзной и мощной системы по управлению контентом. Изначально, WordPress предлагает довольно поверхностный, минимальный функционал. Но простота основы с лихвой компенсируется изобилием плагинов, которые значительно увеличивают потенциал движка.

читать дальше

5 полезных и оригинальных способов использования виджетов в WordPress

Четверг, 16 июля 2009 - Рекомендуем, Статьи и советы

Если вы создали хотя бы несколько сайтов на WordPress, то вы наверняка уже знаете, что WordPress это гораздо больше, чем просто блоггинговый движок. Он может быть также использован как и CMS, а виджеты WordPress – это мощный инструмент в арсенале WP-разработчика.

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

читать дальше

Урок №6. Цикл – The Loop

Понедельник, 22 июня 2009 - Создание тем

Цикл вызывает записи в вашем блоге. Это самый важный набор РНР кодов. К этому времени вы уже знаете, что нужно сделать перед тем, как начать этот урок. Приступайте. Сначала сделайте это, а потом мы сделаем краткий обзор того, что вы выучили к этому моменту.

Итак, вы уже знаете:

А теперь, собственно, урок №6:


К этому моменту, у вас должен быть открыт Denwer, папка Tutorial, страница http://wordpress/ и файл index.php в редакторе.

То, что должно быть у вас в файле index.php:

indexphp

Помните, чтобы хорошо запомнить коды, печатайте все, не используйте «копи-паст»!

Шаг 1:

Добавьте DIV (невидимый блок) под зону хедера. Присвойте ему «контейнер» для ID, вот так:

<div id="container">

</div>

Для чего этот DIV тэг? Для того, чтобы отделить ваш контент от всего, что идет после него, например от сайдбара или футера.

Шаг 2:

Добавьте следующие коды между DIV тэгами. Постарайтесь напечатать все в точности, как сейчас видите на экране. Если будут ошибки, напечатайте снова.

<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
<?php endwhile; ?>
<?php endif; ?>

С этого момента вы будете узнавать код, вместо того, чтобы разбираться в каждом отдельном коде. То, что вы сейчас напечатали в WordPress называется циклом. Перед тем, как я объясню словами, что это значит, вы должны получить следующее:

the-loop

Обратите внимание, я сделал отступы каждой строки внутри контент-бокса. Это делается для правильной организации кода, чтобы облегчить его «читаемость». Недостаточно просто напечатать код, его нужно уметь организовать, чтобы позже вы могли сразу знать, что где находится и к чему относится каждый из наборов кодов. Для отступов используйте клавишу Tab вместо пробелов.

Что сейчас произошло?

  • if(have_posts()) - проверить есть ли у вас пост;
  • while(have_posts()) - выполнять функцию the_post(), пока у вас есть какой-либо пост в стеке;
  • the_post() - отобразить пост;
  • endwhile; - вспоминая правило №1, это значит закрыть while();
  • endif; - закрыть if();

На заметку: не все наборы кодов требуют две части, чтобы открываться и закрываться. Некоторые могут закрываться сами, что объясняет have_posts() и the_post();. Из-за того, что код the_post(); находится за пределами if() и while(), ему необходимы собственные точка с запятой, чтобы закрыться.

Шаг 3:

На предыдущих уроках вы узнали, как вызвать заголовок блога, используя bloginfo('name'). Сейчас вы научитесь, как вызвать заголовки постов в пределах Цикла.

Наберите <?php the_title(); ?> после the_post(); ?> и перед <?php endwhile; ?>

the-title

Сохраните файл index.php, обновите окно браузера. Вы должны увидеть Hello World под описанием блога. По умолчанию в вашем блоге всего один пост. У меня, например, в тестовом блоге есть несколько постов, так что у меня и несколько заголовков. Из-за того, что заголовки, которые я использовал одинаковы, и на этом этапе еще не организованы, это выглядит как одна сплошная строка из слов Hello World.

Шаг 4:

превращаем заголовки постов в ссылки на заголовки. Помните, как вы превращали заголовок блога в линк? Здесь то же самое - добавьте <a href="#"> и </a> вокруг <?php the_title(); ?>

Сохраните файл index.php и обновите браузер. Сейчас ваши заголовки стали ссылками, но они никуда не приведут. Чтобы привязать каждый пост-линк к нужному посту, вам нужно заменить знак # на the_permalink().

<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

the_permalink() - это РНР функция, которая вызывает адрес, или расположение, каждого поста. Сохраните и обновите окно. Если у вас остался только один заголовок Hello World, наведите курсор на этот линк, посмотрите в строку статуса внизу браузера, там уже не написаноhttp://wordpress/#.

Если у вас больше, чем один линк, вы увидите, что каждая ссылка привязана к разным постам или веб-страницам. Но ссылки на наши заголовки все еще в одной линии. Чтобы разделить их, добавьте тэги <h2> и </h2> вокруг кодов ссылки.

<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>

Помните Н1, который мы использовали для заголовка блога? Это название вашей веб-страницы. Н2 используется для подзаголовков. Теперь, когда каждая из ваших ссылок на заголовки постов стали подзаголовками, они получили собственную линию. Сохраните файл index.php и обновите окно браузера, чтобы увидеть изменения.

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

end-lesson-5

Примечание: попробуйте сделать несколько пробных постов, чтобы протестировать вашу тему. Зайдите на http://wordpress/wp-login.php, авторизируйтесь, кликните на вкладке Write, сделайте пост, потом сделайте это еще несколько раз. Вы можете называть их Hello World, как это делал я, а можете давать собственные названия.

Перейти к следующему уроку »

32 комментария

  1. Владислав пишет:

    Что значит “А теперь, собственно, урок №5:” …..
    Может №6 :)

  2. Wordpresser пишет:

    Cупер, отлично написанно!

  3. odessa пишет:

    отлично и доступно описано
    только хочется по чаще постов

  4. Юра пишет:

    Нашел опечатку в строке:
    &lt;a href=&quot;<strong></strong>"&gt;</a>

    Здесь тэг лишний

  5. Юра пишет:

    Упс… не могу писать коды тэгов в коментариях )
    Опечатка в коде в том месте, где описано как привязать каждый пост-линк к нужному посту. Там тэг “strong” лишний.

  6. RodgerFox пишет:

    Вах вах, случайно наёшл ваш блог, эх жаль что раньше не нашёл. у меня вопрос, почему нужно писать все тайтлы и путь к стилям и js скриптам в index.php почему бы это не делать в шапке и начинать там html документ? я обычно в index пишу вызываю сразу шапку. так удобной, в индексе у тебя вызываются функции между ними есть свои дивы, а остальные в самих функциях. и про сами дивы, почему вы задаёте им id? я понимаю делать id для поиска или что то вроде него так легче.
    но совет всем использовать class практически во всем.
    P.S. вы прекрасно объясняете успехов в будущем вам.

    • Vanilla Man пишет:

      RodgerFox, разумеется намного лучше разделить index.php на разные вызываемые файлы, просто так как курс для новичков, то к этому мы приходим постепенно. Этой теме посвящен урок #23.
      Что касается ID – я с вами не соглашусь. Глобальные блоки удобнее почечать ID, а для повторяющихся и вложенных элементов лучше использовать class.
      Спасибо большое.

  7. Alex пишет:

    Привет! Спасибо за учебник. Начинаю с Вашего сайта изучать PHP. Есть вопрос – зачем требуется цикл if если while должен по идее все сделать – пока имеется пост – постить.

  8. Артем пишет:

    Действительно интересный сайт, пытался изучать из других источников-туго шло)) а тут прямо все написано так и понятно!Спасибо за ваш труд, вы помагаете людям умнеть=)
    А теперь вопрос, вот мы выводим заголовок первого поста, а как вывести заголовок вновь созданных постов?например 2,3,4 и т.д. и есть ли функция которая выводит(любым методом) содержимое поста?Спасибо

  9. Артем пишет:

    в следующем уроке увидел и обрадовался по поводу вывода содержимого поста! НО как задать условие какой пост выводить, вот есть у меня 2 поста, первый выводится без проблем, а как вывести второй?

  10. Павел пишет:

    Да, пока выводится только одна запись:) Пойдем на следующий урок. Спасибо:)

  11. alexander пишет:

    зачем нужно писать а не
    зачем нужно двоеточие?

  12. alexander пишет:

    зачем нужно писать f(have_posts()) : зачем двоеточие?

  13. фото блог пишет:

    Создал пробные посты, всё так, как в уроке, круто!

  14. Ajax пишет:

    Правильно ли я понимаю, что в Шаге №2 под словом организация подразумевается присоединение второй строки к первой (акромя Tab конечно). Какой в себе логический смысл или технологический эффект несёт такая интерпретация? Заранее спасибо!

  15. Ajax пишет:

    Всё, как в уроке) Начинаем себя помаленьку ощущать всемогущими. Сначала, конечно вылезла Fatal Error, а потом пересматриваешь цикл и оказывается, что одну букву не дописал.

  16. Андрей пишет:

    Скажите, а почему такая структура php-кода? Я сейчас изучаю php и там подобный цикл выглядел бы как

    Заранее спасибо)

  17. Андрей пишет:

    Не отображается php-код. Вообщем, не было бы двоеточий(вместо них – {}) и не было бы endwhile и endif

  18. Evgeniy пишет:

    возможно потому что это интерпретатор WP а не просто php

  19. pcheol пишет:

    У меня “Привет, мир!” почему-то самый верхний получился. Может дальше всё разъяснится.
    Курс пока понятный.

  20. Дмитрий пишет:

    Здравствуйте!
    Сделал несколько пробных постов, но при обновлении страницы они не выводятся, хотя в “Записях” все опубликованы. Что нужно сделать?

  21. Ivan пишет:

    а чем обусловлена такая конструкция на 2 шаге?
    нельзя ли ее сократить до:

  22. Ivan пишет:

    извиняюсь, код скушал..
    ?php while(have_posts()) : the_post(); ?
    ?php endwhile; ?

  23. Дмитрий пишет:

    Спасибо автору за такое руководство! :) Огромнейший респект!

    Я имея опыт веб-программирования прохожу уроки один за другим с легкостью. Супер! Благодаря Вашим урокам я быстро освою ВордПресс.

    Один ньанс. Не стоит запутывать новичков, когда Вы пишите “the_permalink() – это РНР функция…..” – это не так! Это не РНР функция, а функция CMS WordPress. Ведь ни в одном справочнике по РНР вы такой функции не найдете. Это написанные разработчиками WordPress функции, которые обеспечивают работу системы.

    А в целом – учебник просто СУПЕР! :)

    Спасибо!

  24. Владимир пишет:

    А почему скобки всегда пустые?

  25. Владимир пишет:

    И почему после “)” “:” через пробел, а здесь “);” пробела нет есть ли какая-то разница?

  26. Владимир пишет:

    В некоторых местах после the_permalink() “;” отсутствует, попробовав ее убрать я не увидел ни каких изменений, так она нужна?

Ваш комментарий

Этот домен продается здесь: telderi.ru, и еще много других