投票系统,数据库连接?

时间:2014-05-23 作者:PirateScott

基本上,我正在尝试这样做,如果用户登录,所有待处理的帖子都可以投票。一旦获得10多张选票,它将被公布。

好了,不再使用数据库连接,现在使用元键,因此代码已经更改,以显示我现在拥有的内容

<?php 
//if the post is pending show
if(get_post_status() == \'pending\') {

//added a post_vote to the wp_posts database for use later

//if the user is logged in show
if ( is_user_logged_in() ) {

    add_post_meta( get_the_ID(), \'post_vote\', \'0\', true );
    $post_vote = get_post_meta( get_the_ID(), \'post_vote\' );
    echo \'Votes: \' .  print_r( $post_vote);
    //form for submit button
    echo "<form method=\\"POST\\" action=\\"";
    echo \'\';  //code in here for adding 1 to meta
    echo "\\">";
    echo \'<input type="button" name="submit" value="+">\';
    echo \'</form>\';

} else {
    echo\'Please Sign in to Vote\';
}

} else {
// do nothing
}
 ?>
以下内容

    add_post_meta( get_the_ID(), \'post_vote\', \'0\', true );
    $post_vote = get_post_meta( get_the_ID(), \'post_vote\' );
    echo \'Votes: \' .  print_r( $post_vote);
返回此Array ( [0] => 0 ) Votes: 1.

它应该只说Votes: 0

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

您需要的是post元/自定义字段,使用以下函数:

  • get_post_meta
  • add_post_meta
  • update_post_meta
在posts表中添加新列只会导致后续问题,例如:

WP Core中的数据库架构更改会破坏您的额外列,您必须为与投递投票相关的所有内容编写自己的自定义SQL,无需WP\\U查询、对象缓存和缓存插件的帮助,无需导入/导出支持所有投递类型都会有投票列,您是否需要附件、投递修订和页面上的投票数据例如。

update_post_meta(76, \'my_key\', \'Steve\');
将更新/保存“my\\u key”meta值“steve”至第76页,稍后我们可以使用以下方法检索:

echo get_post_meta( 76, \'my_key\', true );
用户和评论也有类似的元API

结束

相关推荐

Order posts by category name

有没有办法按类别名称排序帖子?我试过了$args = array( \'post_type\' => \'dlm_download\', \'posts_per_page\' => 10, \'paged\' => $paged, \'order_by\'=> \'cat\', \'order\' => \'ASC\' ); 但它并没有真正起作用,请有人给我一个提示好吗?