biovolk
Участники
- Сообщения
- 14
- Реакции
- 4
- Баллы
- 5,500
Всем привет,
Недавно задавался вопросом как именно выводить последние темы например в вордпрессе, пхп код был найден где-то в интернете, он работал на вывод ВСЕХ последних тем, а вот вывод из определенных разделов - нет.
Немного похимичив получилось подправить этот код, делюсь со всеми
ну а чтобы выводило со всех разделов, достаточно заменить все ноды(цифры) просто на слово ALL.
Всем удачи
P.S.
Возможно кто-то подскажет где что подписать чтобы выставить лимит для вывода названия темы, т.е. лимит кол-ва символов в названии, чтобы обрезало длинный текст например было : Блаблаблаблаблабла, а с лимитом будет выводить Блабла...
Недавно задавался вопросом как именно выводить последние темы например в вордпрессе, пхп код был найден где-то в интернете, он работал на вывод ВСЕХ последних тем, а вот вывод из определенных разделов - нет.
Немного похимичив получилось подправить этот код, делюсь со всеми
Код:
<?php
// Ниже укажите имя, пароль и имя бд для подключения.
$database_host = 'localhost'; // по стандарту это localhost
$database_username = 'username'; // Имя к БД
$database_password = 'derpassword'; // Пароль к БД
$database_db = 'dbname'; // Имя БД
$forum_url = 'http://****.ru/forum/'; // Укажите тут путь к вашему форуму (независимо от папки в которой он находится)
$limit = 7; // Укажите лимит на отображение последних тем.
$forum_ids = '32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,78,79'; // Укажите с каких разделов брать последние темы, либо укажите "ALL" что бы брать со всего форума.
mysql_connect($database_host, $database_username, $database_password);
mysql_select_db($database_db);
$where = '';
if ($forum_ids != '32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,78,79')
{
$where = 'WHERE `node_id` IN ($forum_ids)';
}
$sql_forum = "SELECT `title`, `thread_id` FROM `xf_thread` WHERE `node_id` IN (32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,78,79) ORDER BY `last_post_date` DESC LIMIT {$limit}";
$query_forum = mysql_query($sql_forum);
while ($topics = mysql_fetch_assoc($query_forum))
{
$url_title = str_replace(' ', '-', $topics['title']);
$url_title = str_replace('.', '', $url_title);
$url_title = str_replace('?', '', $url_title);
$url_title = str_replace('/', '-', $url_title);
$url_title = str_replace('\\', '-', $url_title);
$url_title = str_replace('"', '-', $url_title);
echo "<img src='http://******/icsmall.png'> <a href=\"{$forum_url}index.php?threads/{$url_title}.{$topics['thread_id']}/\">{$topics['title']}</a><br>";
}
?>
ну а чтобы выводило со всех разделов, достаточно заменить все ноды(цифры) просто на слово ALL.
Всем удачи
P.S.
Возможно кто-то подскажет где что подписать чтобы выставить лимит для вывода названия темы, т.е. лимит кол-ва символов в названии, чтобы обрезало длинный текст например было : Блаблаблаблаблабла, а с лимитом будет выводить Блабла...