ID";
$cats = $wpdb->get_results($q);
foreach(($cats) as $cat) {
if (in_array($cat->term_id, $exclude) != false){
return;
}
}
}
if(!$post->ID){return;}
$now = current_time('mysql', 1);
$tags = wp_get_post_tags($post->ID);
//print_r($tags);
$taglist = "'" . $tags[0]->term_id. "'";
$tagcount = count($tags);
if ($tagcount > 1) {
for ($i = 1; $i <= $tagcount; $i++) {
$taglist = $taglist . ", '" . $tags[$i]->term_id . "'";
}
}
if ($limit) {
$limitclause = "LIMIT $limit";
} else {
$limitclause = "LIMIT 10";
}
$q = "SELECT DISTINCT p.ID, p.post_title, p.post_date, p.comment_count, count(t_r.object_id) as cnt FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r, $wpdb->posts p WHERE t_t.taxonomy ='post_tag' AND t_t.term_taxonomy_id = t_r.term_taxonomy_id AND t_r.object_id = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt < '$now' GROUP BY t_r.object_id ORDER BY cnt DESC, p.post_date_gmt DESC $limitclause;";
//echo $q;
$related_posts = $wpdb->get_results($q);
$output = "";
if (!$related_posts){
if(!$wp_no_rp || ($wp_no_rp == "popularity" && !function_exists('akpc_most_popular'))) $wp_no_rp = "text";
if($wp_no_rp == "text"){
if(!$wp_no_rp_text) $wp_no_rp_text= __("No Related Post",'wp_related_posts');
$output .= '
'.$wp_no_rp_text .'';
} else{
if($wp_no_rp == "random"){
if(!$wp_no_rp_text) $wp_no_rp_text= __("Random Posts",'wp_related_posts');
$related_posts = wp_get_random_posts($limitclause);
} elseif($wp_no_rp == "commented"){
if(!$wp_no_rp_text) $wp_no_rp_text= __("Most Commented Posts",'wp_related_posts');
$related_posts = wp_get_most_commented_posts($limitclause);
} elseif($wp_no_rp == "popularity"){
if(!$wp_no_rp_text) $wp_no_rp_text= __("Most Popular Posts",'wp_related_posts');
$related_posts = wp_get_most_popular_posts($limitclause);
}else{
return __("Something wrong",'wp_related_posts');;
}
$wp_rp_title = $wp_no_rp_text;
}
}
foreach ($related_posts as $related_post ){
$output .= '';
if ($show_date){
$dateformat = get_option('date_format');
$output .= mysql2date($dateformat, $related_post->post_date) . " -- ";
}
$output .= ''.wptexturize($related_post->post_title).'';
if ($show_comments_count){
$output .= " (" . $related_post->comment_count . ")";
}
$output .= '';
}
$output = '';
if($wp_rp_title != '') $output = ''.$wp_rp_title .'
'. $output;
return $output;
}
function wp_related_posts(){
global $id;
$preview = $_GET['preview'];
$output_old = get_post_meta($id, "related_posts", $single = true);
if($output_old){
$time = time();
if(($time - $output_old["time"])<600){
echo $output_old["related_posts"];
return;
}
}
$output = wp_get_related_posts() ;
$output_new = array("time"=>time(),"related_posts"=>$output);
if($output_old){
update_post_meta($id, 'related_posts', $output_new);
}else{
if(!add_post_meta($id, 'related_posts', $output_new, true)){
update_post_meta($id, 'related_posts', $output_new);
}
}
echo $output;
}
function wp23_related_posts() {
wp_related_posts();
}
function wp_related_posts_for_feed($content=""){
$wp_rp = get_option("wp_rp");
$wp_rp_rss = ($wp_rp["wp_rp_rss"] == 'yes') ? 1 : 0;
if ( (! is_feed()) || (! $wp_rp_rss)) return $content;
$output = wp_get_related_posts() ;
$content = $content . $output;
return $content;
}
add_filter('the_content', 'wp_related_posts_for_feed',1);
function wp_related_posts_auto($content=""){
$wp_rp = get_option("wp_rp");
$wp_rp_auto = ($wp_rp["wp_rp_auto"] == 'yes') ? 1 : 0;
if ( (! is_single()) || (! $wp_rp_auto)) return $content;
$output = wp_get_related_posts() ;
$content = $content . $output;
return $content;
}
add_filter('the_content', 'wp_related_posts_auto',99);
function wp_get_random_posts ($limitclause="") {
global $wpdb, $tableposts, $post;
$q = "SELECT ID, post_title, post_date, comment_count FROM $tableposts WHERE post_status = 'publish' AND post_type = 'post' AND ID != $post->ID ORDER BY RAND() $limitclause";
return $wpdb->get_results($q);
}
function wp_random_posts ($number = 10){
$limitclause="LIMIT " . $number;
$random_posts = wp_get_random_posts ($limitclause);
foreach ($random_posts as $random_post ){
$output .= '';
$output .= ''.wptexturize($random_post->post_title).'';
}
$output = '';
echo $output;
}
function wp_get_most_commented_posts($limitclause="") {
global $wpdb;
$q = "SELECT ID, post_title, post_date, COUNT($wpdb->comments.comment_post_ID) AS 'comment_count' FROM $wpdb->posts, $wpdb->comments WHERE comment_approved = '1' AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status = 'publish' GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC $limitclause";
return $wpdb->get_results($q);
}
function wp_most_commented_posts ($number = 10){
$limitclause="LIMIT " . $number;
$most_commented_posts = wp_get_most_commented_posts ($limitclause);
foreach ($most_commented_posts as $most_commented_post ){
$output .= '';
$output .= ''.wptexturize($most_commented_post->post_title).'';
}
$output = '';
echo $output;
}
function wp_get_most_popular_posts ($limitclause="") {
global $wpdb, $table_prefix;
$q = $sql = "SELECT p.ID, p.post_title, p.post_date, p.comment_count FROM ". $table_prefix ."ak_popularity as akpc,".$table_prefix ."posts as p WHERE p.ID = akpc.post_id ORDER BY akpc.total DESC $limitclause";;
return $wpdb->get_results($q);
}
function wp_most_popular_posts ($number = 10){
$limitclause="LIMIT " . $number;
$most_popular_posts = wp_get_most_popular_posts ($limitclause);
foreach ($most_popular_posts as $most_popular_post ){
$output .= '';
$output .= ''.wptexturize($most_popular_post->post_title).'';
}
$output = '';
echo $output;
}
add_action('admin_menu', 'wp_add_related_posts_options_page');
function wp_add_related_posts_options_page() {
if (function_exists('add_options_page')) {
add_options_page( __('WordPress Related Posts','wp_related_posts'), __('WordPress Related Posts','wp_related_posts'), 8, basename(__FILE__), 'wp_related_posts_options_subpanel');
}
}
function wp_related_posts_options_subpanel() {
if($_POST["wp_rp_Submit"]){
$message = "WordPress Related Posts Setting Updated";
$wp_rp_saved = get_option("wp_rp");
$wp_rp = array (
"wp_rp_title" => $_POST['wp_rp_title_option'],
"wp_no_rp" => $_POST['wp_no_rp_option'],
"wp_no_rp_text" => $_POST['wp_no_rp_text_option'],
"wp_rp_limit" => $_POST['wp_rp_limit_option'],
'wp_rp_exclude' => $_POST['wp_rp_exclude_option'],
'wp_rp_auto' => $_POST['wp_rp_auto_option'],
'wp_rp_rss' => $_POST['wp_rp_rss_option'],
'wp_rp_comments'=> $_POST['wp_rp_comments_option'],
'wp_rp_date' => $_POST['wp_rp_date_option']
);
if ($wp_rp_saved != $wp_rp)
if(!update_option("wp_rp",$wp_rp))
$message = "Update Failed";
echo '';
}
$wp_rp = get_option("wp_rp");
?>