In WordPress, related post plugin is very good to get visitors to read more or your blog & reducing bounce rate. If you want to have the same function in phpMyDirectory, need to add the following code.
Update : For phpMyDirectory version starting 1.4.3, you no longer have to edit “listing.php” file. This feature includes by default. You only need to edit “listing_default.tpl” if the template does not include this feature.
1. “listing.php” in phpMyDirectory installation
Find the following code
$PMDR->get('Statistics')->insert('listing_impression',$listing['id']);
Add the following code directly above it
// Related Listing start
if(!$related_listings = $PMDR->get('Cache')->get('listing_related_'.$listing['id'], 2592000)) {
$related_listings = $db->GetAll("SELECT id, title, friendly_url, MATCH(title, description_short, keywords) AGAINST('".$listing['title']." ".$listing['keywords']."') AS score
FROM ".T_LISTINGS."
WHERE MATCH(title, description_short, keywords) AGAINST('".$listing['title']." ".$listing['keywords']."') AND id!=?
ORDER BY score DESC LIMIT 10",array($listing['id']));
if(is_array($related_listings)) {
foreach($related_listings AS &$related_listing) {
$related_listing['url'] = $PMDR->get('Listings')->getURL($related_listing['id'],$related_listing['friendly_url']);
}
}
$PMDR->get('Cache')->write('listing_related_'.$listing['id'],$related_listings);
}
$template_content->set('related_listings',$related_listings);
// Related Listing end
2. “listing_default.tpl” in template folder.
Add the following code where you want to display the Related Listing
<h2>Related Listings</h2>
<?php if($related_listings) { ?>
<strong>
<?php foreach($related_listings AS $related_listing) { ?>
<li><a href="<?php echo $related_listing['url']; ?>"><?php echo $related_listing['title']; ?></a></li>
<?php } ?>
</strong>
<?php } ?>