Точка с Запятой;

Всем привет 8)

Сегодня утром я задумался о том, как бы в ворпдрессе выводить пару рандомных постов из тех категорий, к которым принадлежит текущий пост.

Покопался в инете, ничего толкового не нашел, кроме плагинов с дикими запросами к базе, ищущими ключевые слова по всем текстам. Так что, пришлось писать самому 8)

Я не задавался целью создавать плагин, а просто написал кусок PHP-кода в файл single.php. Если найдутся энтузиасты, которые сделают из этого простой плагин — общественность будет безмерно благодарна 8))

Вот сам код:

<?php
echo '<h2>По теме</h2>
<ul class="related">';

global $post;

function get_random_related($postID) {
global $wpdb;
$sql = ”
select ID, post_title
from $wpdb->posts
where post_type = ‘post’ and ID in
(select post_id
from $wpdb->post2cat
where post_id<>$postID and category_id in
(select category_id from $wpdb->post2cat WHERE post_id = $postID)
)
order by rand()
limit 0,2″;
$results = $wpdb->get_results($sql);

foreach ($results as $result) {
$permalink = get_permalink($result->ID);
$output .= ‘<li><a href=”‘.$permalink.’”>’.$result->post_title.’</a></li>’;
}

return $output;
}

echo get_random_related($post->ID);

echo ‘</ul>’;
?>

Если в родственных рубриках всего один пост, кроме текущего, то он выведется один 8)

Запись опубликована 15.09.07
в рубриках: Берем уроки, Программируем.

Предыдущая запись

Сон — полезный подарок

Следующая запись:

Работа, фриланс или бизнес? Часть первая: Работа.

Комментарии

  1. О плагинах ты истину глаголишь.

    Попробовать разобраться - можно и ногу и руку сломать. Такое впечатление, что код писался инопланетным разумом. :)

    А твой труд заюзаем. Спасибо.

  2. Странно, что нелегко разобраться 8) Каментов, конечно, нет, но табуляция везде проставлена.

    Кстати, если найдешь плагин для красивого отображения кода — буду очень благодарен 8)

  3. А я вот нашел код для перелинковки страниц, но там в тексте ссылок используются заголовки постов.

    (Т.е. внизу каждого отдельного поста блок:
    Предыдущие посты: текст 1, текст 2, текст 3, …)

    А мне бы вытянуть именно TITLE, который я для каждого поста задавал отдельно (через плагин SEO Title). Жаль я на php не пишу. :) Попытался так разорабраться сходу - пока не вышло. Там отдельная таблица для этого дела…

  4. Если дашь скриншот на структуру этой таблицы — могу написать код под это дело 8)

  5. [...] сделать из этого плагин (эх, кто бы еще из случайных постов [...]

Прокомментируйте