Не могу разобраться с The Loop…

Продолжаю биться над проблемой вывода related posts.

Нашел вроде неплохой плагинчик, который по идее подходит к достаточно широкой линейке версий ВП – http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/#post-2769

Все было бы хорошо, однако не могу понять одной вещи. В гайде по инсталляции (http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/installation/) написано буквально следующее:

Just put it in your /wp-content/plugins/ directory, activate, and then drop the related_posts function in your WP loop. Change any options in the Related Posts (YARPP) Options pane in Admin > Plugins.

По определенным причинам (впервые сталкиваюсь с понятием цикла Loop) не могу сбросить эту функцию – related_posts…

Кто-нибудь вкратце может объяснить как это сделать?

в readme.txt и на странице http://wordpress.org/extend/plugins/yet-another-related-posts-plugin/other_notes/ дан пример куда вставлять:

For a barebones setup, just drop <?php related_posts(); ?> right after <?php the_content() ?>.
On my own blog I use the following code with <li> and </li> as the before/after entry options:

<?php if (related_posts_exist()): ?>
  <p>Related posts:
  <ol><?php related_posts();?></ol>
  </p>
<?php else: ?>
  <p>No related posts.</p>
<?php endif; ?>

т.е. открываете файл из папки вашей темы, который отвечает за вывод поста (это single.php либо если его нет, то index.php) и после строчки <?php the_content() ?> вставляете код, который привелен выше.

Но есть проблема: в этом плагине вызывается функция Markdown, которой нет, т.е. он сейчас не работает – автор пишет что он скоро это исправит http://wordpress.org/support/topic/150072 …

впервые сталкиваюсь с понятием цикла Loop

Вы, наверно, просто не знали, что ЭТО так зовется. 🙂
Вывод страницы, поста, категории, архива, результата поиска построены по единой схеме. Сначала делается "невидимый" запрос к базе, потом – это уже видно в шаблоне – проверка на есть ли что выводить и цикл перебора:

<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
собственно вывод
<?php endwhile; endif; ?>

Вот этот код и есть тот самый пресловутый Цикл (Loop). Их на один uri может быть несколько, в т.ч. с "видимыми" запросами к базе (get_posts).

http://codex.wordpress.org/The_Loop

спасибо за теорию.

а если у меня конец Loop в моей теме выглядит следующим образом:

<?php endwhile; ?>
<br/>
                <?php next_posts_link('&laquo; Предыдущие сообщения') ?>
		<?php previous_posts_link('Следующие сообщения &raquo;') ?>
		

	<?php else : ?>
Не найдено ничего по Вашему запросу.
Попробуйте изменить фразу запроса.
		<?php include (TEMPLATEPATH . "/searchform.php"); ?>

	<?php endif; ?>

куда именно вставлять функцию плагина, если сказано "вставить в конце the loop"?

Цикл заканчивается на <?php endwhile; ?>.
После него идет постраничная навигация.
После <?php else : ?> идет то, что выводится, если нет нужных постов.

куда именно вставлять функцию плагина, если сказано "вставить в конце the loop"?

Попробуй вставь код в комментс.php перед "Оставить ответ" или нечто подобное

Цикл заканчивается на <?php endwhile; ?>.
После него идет постраничная навигация.
После <?php else : ?> идет то, что выводится, если нет нужных постов.

Т.е. по идее код надо вставлять перед <?php endwhile; ?>
Попробую

Anonymous
Отправить
Ответ на: