Jan
17
Немного про сайты на Wordpress
1 балл2 балла3 балла4 балла5 баллов (4 голоса, средний балл: 2.5 из 5)
Loading ... Loading ...

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

Сначала он мне показался «китайской грамотой» (в частности из-за своего функционального кода), но потом я привык, разобрался, как кастомизировать (натягивать шкуры) на Wordpress.

В результате чего появились блоги: freeprogs.kiev.ua, 38gadgets.ru, freelancehack.ru и скоро открывающийся fuck-office.com.

Как и ожидалось, ничего сложного в натягивании дизайна на данный блогодвижок — нет.

И вот недавно встала более сложная задача — сделать сайт-визитку на Wordpress. В принципе ничего сложного — набор статических страниц + новости.

Сделать главной страницей какую-либо из страниц можно прямо в админке Wordpress. Новости очень просто делаются через рубрику «новости», тоесть заметками в данную рубрику. C контентной областью тоже вроде проблем нет, поэтому я взялся за задачу.

Естественно я нашел мануал и быстренько решил вывод новостей с помощью кода:

<?php query_posts(«category_name=news&showposts=5&order=desc»); ?>

Ха, подумал я — все так просто. И тут, по классике жанра, начались «грабли».

Не тут-то было. Открыл я главную страницу и увидел, что контентной области текста-то нет..Точнее он был, но там отображались новости, а не контент страницы.

В чем же причина? А причина в том, что в Wordpress есть функция the_post(), которая присутствует в шаблонах для вывода заметок и статических страниц, которая и использует query_posts. А эта функция построена по тому принципу, что вызывать ее можно сколько угодно раз, но результат она возвращает тот, что получен в самый первый раз.

Я начал искать решение. Оказалось, что если после вывода новостей написать еще раз <?php query_posts(); ?>, но уже без аргументов, то данные выводятся, но только данные главной страницы, причем на любых других страницах. Естественно меня это не устраивало.

Первая мысль, которая мне пришла  — поискать в мануале, как обнулять действие данной функции. Погуглив минут 20 и перерыв ман, я нашел только слабое упоминание (может конечно я плохо искал?), что для таких выводов (несколько раз на одной странице) нужно писать отдельную функцию, которая будет использовать WP_Query.

Так, как писать свою функцию мне не сильно хотелось как-то, да и не получилось: постоянно писало, что моя функция не найдена при вызове ее (видно где-то надо ее еще «регистрировать») — я решил методом грубой силы искать выход.

Я открыл свой шелл на сервере, где находится мой блог и с помощь mc задал поиск всех файлов, где встречается функция query_posts. Таких оказалось аж два: query.php и widgets.php в директории wp-includes (а именно там я и искал — где им еще быть-то?). Очевидно, что это не файл виджетов, поэтому я открыл файл query.php и начал его изучать.

Как ни странно — с самого верху была нужная мне функция — wp_reset_query(), которой я успешно и воспользовался. И все сразу же получилось :)

Вообще интересно выходит -  либо никто не делал ничего подобного до меня (в чем я дико сомневаюсь), либо я не правильно давал запросы к поисковику (что скорее всего). А как надо было спрашивать — до сих пор не понятно.

Таким образом строить довольно простые сайты-визитки на Wordpress — можно. Но нужно знать особенности данного движка, которых, как мне кажется — очень даже много.

Возможно кому-то пригодиться мой опыт и он не будет также, как я убивать время на поиски нужного решения :)



Добавить в:news2.ru Google Delicious Забобрить эту страницу! Добавить на Newsland.ru Добавить на СМИ2 Добавить на RUmarkz Добавить на Ваау! Добавить на rucity.com Добавить в закладки МоёМесто.ru Добавить на Habr Добавить на Moi Novosti Добавить страницу к Mister Wong Добавить на Moikrug Добавить на Myscoop Добавить на 100zakladok

Похожие заметки


Комментарии (23) на “Немного про сайты на Wordpress”

  1. Emik написал:
    18.01.2009 в 02:17
    Цитировать
  2. JabbyPanda написал:
    18.01.2009 в 14:09
    Цитировать
  3. CrashOver написал:
    18.01.2009 в 15:13
    Цитировать
  4. Станислав Малкин написал:
    18.01.2009 в 15:20
    Цитировать
  5. Станислав Малкин написал:
    19.01.2009 в 08:03
    Цитировать
  6. TRS написал:
    19.01.2009 в 10:06
    Цитировать
  7. Максим Покровский написал:
    19.01.2009 в 21:09
    Цитировать
  8. Артем написал:
    22.01.2009 в 21:15
    Цитировать
  9. Станислав Малкин написал:
    23.01.2009 в 01:59
    Цитировать
  10. f10w написал:
    23.01.2009 в 02:42
    Цитировать
  11. Артем написал:
    23.01.2009 в 09:14
    Цитировать
  12. Станислав Малкин написал:
    23.01.2009 в 10:25
    Цитировать
  13. Артем написал:
    23.01.2009 в 10:53
    Цитировать
  14. Станислав Малкин написал:
    23.01.2009 в 11:00
    Цитировать
  15. fuck-office.com написал:
    01.02.2009 в 01:53
    Цитировать
  16. Станислав Малкин написал:
    01.02.2009 в 15:53
    Цитировать
  17. Tod написал:
    02.02.2009 в 14:33
    Цитировать
  18. Станислав Малкин написал:
    02.02.2009 в 16:46
    Цитировать
  19. doctorstal написал:
    12.02.2009 в 13:55
    Цитировать
  20. timoshkaa написал:
    18.02.2009 в 00:48
    Цитировать
  21. mall написал:
    05.06.2009 в 13:44
    Цитировать
  22. Заводской раб написал:
    06.03.2010 в 10:23
    Цитировать
  23. Станислав Малкин написал:
    06.03.2010 в 11:54
    Цитировать

Оставить комментарий

Указать свой сайт могут только зарегистрированные пользователи. Регистрация или вход.



Внимание!

XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Quicktags:-->