[Plugin: Vote It Up] Show top voted post in index page
-
I haven’t found it anywhere so i put it here. This is a new function which add posibilities to sort post on index page by vote.
Add this in votingfunctions.php
function ShowPostByVotes() { global $wpdb, $voteiu_databasetable; mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die(mysql_error()); mysql_select_db(DB_NAME) or die(mysql_error()); //Set a limit to reduce time taken for script to run $upperlimit = get_option('voteiu_limit'); if ($upperlimit == '') { $upperlimit = 100; } $lowerlimit = 0; $votesarray = array(); $querystr = " SELECT * FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' ORDER BY post_date DESC "; $pageposts = $wpdb->get_results($querystr, OBJECT); //Use wordpress posts table //For posts to be available for vote editing, they must be published posts. mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die(mysql_error()); mysql_select_db(DB_NAME) or die(mysql_error()); //Sorts by date instead of ID for more accurate representation $posttablecontents = mysql_query("SELECT ID FROM ".$wpdb->prefix."posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date_gmt DESC LIMIT ".$lowerlimit.", ".$upperlimit."") or die(mysql_error()); $returnarray = array(); while ($row = mysql_fetch_array($posttablecontents)) { $post_id = $row['ID']; $vote_array = GetVotes($post_id, "array"); array_push($votesarray, array(GetVotes($post_id))); } array_multisort($votesarray, SORT_DESC, $pageposts); $output = $pageposts; return $output; }
and in your index.php page add
<?php $pageposts = ShowPostByVotes(); ?> <?php if ($pageposts): ?> <?php foreach ($pageposts as $post): ?> <?php setup_postdata($post); ?>
Attention! Code above is something like:
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?>
so in foreach loop you can use statements like in standard “The Loop” for example the_content, the_time().
To end this add<?php endforeach; ?> <?php else : ?> <h2 class="center">Not Found</h2> <p class="center">Sorry, but you are looking for something that isn't here.</p> <?php include (TEMPLATEPATH . "/searchform.php"); ?> <?php endif; ?>
Tada :). You can build you own digit site ??
Viewing 13 replies - 1 through 13 (of 13 total)
Viewing 13 replies - 1 through 13 (of 13 total)
- The topic ‘[Plugin: Vote It Up] Show top voted post in index page’ is closed to new replies.