自定义wordpress查询帮助

时间:2011-05-22 09:02:02

标签: php mysql wordpress

我正在尝试为一个页面构建自定义wordpress查询,该页面从数据库中提取一次性设计的投票插件中的最高投票文章。在每两篇文章之后,我试图插入一些东西,通过计数。我还需要分页支持。到目前为止,我的努力已经非常糟糕了,它有点像我在下面尝试但仍然搞砸了,我不知道分页是如何适应的。显然在这里完成编码新手。

所以我想要完成的是......

  • 获得最高投票帖子&订购它们。
  • 每两篇帖子/文章后,
  • 使用计数插入额外内容。
  • 包括我的许多页面所需的分页支持 内容。

`

$query_sql = "SELECT like_pid FROM " . $wpdb->prefix ."likes_count ORDER BY like_count DESC";
$query_result = $wpdb->get_col( $wpdb->prepare ($query_sql, OBJECT));
if ($query_result) {
foreach ($query_result as $post_id) {
$post = &get_post( $post_id );
setup_postdata($post);
?>

// Now count out two articles (more fail code?)

<?php $count++; ?>
<?php if ($count%2== 0) : ?>

// Show the two articles {more code}

<?php else : ?>

//Now do something else {more code}

<?php endif;?>
<?php } ?>
<?php } ?>

<div class="next"> <?php next_posts_link('&raquo;' ,0); ?></div>
<div class="previous"> <?php previous_posts_link('&laquo;' ,0); ?>`

http://pastebin.com/7dezgm92

感谢您提出任何建议或提示!

1 个答案:

答案 0 :(得分:0)

对于分页,您需要一个限制/偏移:

ORDER BY like_count DESC LIMIT 10 OFFSET 0

记录的方法是将计数总数存储在postmeta中,并使用WP_Query对象按该元键/值排序并担心分页。

http://codex.wordpress.org/Function_Reference/WP_Query

然而,它会很慢,因为你最终会进行全表扫描。

更理想的情况是,向​​帖子添加一个计数总计列,在其上添加索引,然后使用WP_Query对象查询您的帖子并按新列排序。你会得到最好的结果。