I butchered something together for just such a task a few weeks back - it's not perfect, but it does work.
Go here and download vBExternal, it says it's for 3.5.0 Beta 1 - but don't worry, it doesn't make any modifications to your forum, it doesn't even have any Plugins. Upload those files to your server.
https://vborg.vbsupport.ru/showthread.php?t=83005
Open up the vBExternal.php file and follow on...
Find:
Code:
// ---------------------------------------------------
// FUNCTION: output_UsersOnline
// DETAIL: Outputs All Users Online In The Forum
// ---------------------------------------------------
Add before:
Code:
// ---------------------------------------------------
// FUNCTION: output_Thread
// DETAIL: Outputs the first post from the specified thread
// ---------------------------------------------------
function output_Thread($t = "",$a=""){
global $db, $Data, $vbulletin;
// Define Forum To Pull From
$Thread = ($t)? intval($t): '';
if(!$Thread){
RunError("No specified thread to pull from.");
}
// Load Template
$Template = LoadTemplate("_thread.html");
// Collect Data
$NewestNews = $db->query("
select t.*,p.pagetext
from ".TABLE_PREFIX."thread t
left join ".TABLE_PREFIX."post p on(p.postid=t.firstpostid)
where t.threadid = $Thread
");
$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());
while($News = $db->fetch_array($NewestNews)){
$Data .= ParseTemplate($Template,
array(
'threadid' => $News['threadid'],
'threadname' => $News['title'],
'postuserid' => $News['postuserid'],
'postusername' => $News['postusername'],
'post' => $parser->do_parse(substr($News['pagetext'], 0, strrpos(substr($News['pagetext'], 0, $a), ' ')) . construct_phrase($vbphrase['read_more_news'], $vbulletin->options['bburl'], $sql['threadid'], $session['sessionurl'])),
'comments' => vb_number_format($News['replycount']),
)
);
}
doOutput();
}
Then you need to create a new HTML document in the vBExternal folder, name it
_thread.html and fill it with the following contents:
Code:
{post}...
<br /><span class="readmore" style="float:right;"><a href='{url}/showthread.php?t={threadid}' class="readmore" style='text-decoration:none;'><strong>[Read More]</strong></a></span>
Then wherever you want to display the first post of a thread, use this:
Code:
<?php
output_Thread(2504,1500);
?>
2504 is the ThreadID and 1500 is the Amount of Characters to Display.
Don't forget to CHDIR the file you're placing the code in.