Re: Display the latest discussions titles into a webpage
Ah the plugin is intended for WordPress installs only I’m afraid.
A quick way of doing it:
In your bbPress directory, make a file called javascript.php
containing:
<?php
// Taken from index.php
// Load everything up
require('./bb-load.php');
do_action( 'bb_index.php_pre_db' );
$forums = bb_get_forums(); // Comment to hide forums
if ( $topics = get_latest_topics( false, $page ) ) {
bb_cache_last_posts( $topics );
}
bb_load_template( 'html_include.php' );
?>
then in your template directory, make a file called html_include.php
containing:
<?php if ( $forums && $topics ) : ?>
<table id="latest_discussions">
<tr>
<th><?php _e('Topic'); ?></th>
<th><?php _e('Posts'); ?></th>
<!-- <th><?php _e('Voices'); ?></th> -->
<th><?php _e('Last Poster'); ?></th>
<th><?php _e('Freshness'); ?></th>
</tr>
<?php foreach ( $topics as $topic ) : ?>
<tr>
<td><a href="<?php topic_link(); ?>"><?php topic_title(); ?></a></td>
<td class="num"><?php topic_posts(); ?></td>
<!-- <td class="num"><?php bb_topic_voices(); ?></td> -->
<td class="num"><?php topic_last_poster(); ?></td>
<td class="num"><a href="<?php topic_last_post_link(); ?>" title="<?php topic_time(array('format'=>'datetime')); ?>"><?php topic_time(); ?></a></td>
</tr>
<?php endforeach; // $topics loop ?>
</table>
<?php else : ?>
No discussions.
<?php endif; ?>
and finally, in the page where you want to load the list, put something like:
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>$.get("javascript.php", { rand: Math.random() }, function(data){ document.getElementById('latest').innerHTML = data; } );</script>
<div id="latest"></div>
Old-fashioned way of loading the HTML in there and use a local copy of jQuery or whatever library you use, but that’s the general idea really.
html_include.php
is just a cut down version of front-page.php
so you can edit it the same as any other template. javascript.php
doesn’t load in stickies, but that’s just how I felt like doing things, it’s a cut down version of index.php
so it’s easy enough to put back.
Even more cut down version of html_include.php
(so you really do just get a list):
<?php if ( $forums && $topics ) : ?>
<ul>
<?php foreach ( $topics as $topic ) : ?>
<li><a href="<?php topic_link(); ?>"><?php topic_title(); ?></a></li>
<?php endforeach; // $topics loop ?>
</ul>
<?php else : ?>
No discussions.
<?php endif; ?>