duanjianlu0506
2015-02-18 11:56
浏览 174
已采纳

如何在wordpress中显示数据库中的数据?

I am trying to add following code in WordPress, but I cant find the right way to do it. Please help me someone...

<?php
include("config.php");
$results = $mysqli->query("SELECT COUNT(*) as t_records FROM wp_posts");
$total_records = $results->fetch_object();
$total_groups = ceil($total_records->t_records/$items_per_group);
$results->close(); 
?>

It's work great nice if I use it outside of WordPress. But I don't know hot to implement this in my WordPress index.php

There is a lot of code in my theme so I can't give you exact code of the index page. But here is the main index.php file code

<?php

$is_filterable_index = is_home() && x_get_option( 'x_ethos_filterable_index_enable', '' ) == '1';

?>

<?php get_header(); ?>

  <div class="x-container-fluid max width main">

    <?php x_get_view( 'ethos', '_post', 'slider' ); ?>

    <div class="offset cf">
      <div class="<?php x_main_content_class(); ?>" role="main">

        <?php if ( $is_filterable_index ) : ?>
          <?php x_get_view( 'ethos', '_index' ); ?>
        <?php else : ?>
          <?php x_get_view( 'global', '_index' ); ?>          
        <?php endif; ?>
<?php /*?>         
<?php */?>      </div>
      <?php get_sidebar(); ?>

    </div>       
  </div>  

<div id="content"></div>


<?php get_footer(); ?>
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • dongnong7524 2015-02-18 12:06
    已采纳

    You should use the Wordpress db connection. Try this simple code and adapt it for your needs.

    global $wpdb;
    $query = "SELECT COUNT(*) as t_records FROM wp_posts";
    $result = $wpdb->get_results($query);
    var_dump($result);
    

    http://codex.wordpress.org/Class_Reference/wpdb

    已采纳该答案
    打赏 评论
  • dtdfl62844 2015-02-18 12:03

    Use $wpdb

    <?php
    global $wpdb;
    $total_records = $wpdb->get_var("SELECT COUNT(*) as t_records FROM $wpdb->posts");
    $total_groups = ceil($total_records/$items_per_group);
    ?>
    

    There are various methods depending on what you want to do with results (if there are several rows or columns, for example, you wouldn't use get_var)

    I used $wpdb->posts instead of wp_posts in case someone changes the table prefix (eg in wp-config.php).

    打赏 评论
  • dsxxqndv41105 2015-02-18 12:04

    WordPress defines a class called wpdb, which contains a set of functions used to interact with a database.

    global $wpdb; //global connection object 
    $results = $wpdb->get_var( "SELECT COUNT(*) as t_records FROM wp_posts" ); // The get_var function returns a single variable from the database
    $total_groups = ceil($results->t_records/$items_per_group);
    

    check

    打赏 评论
  • dongzhui9936 2015-02-18 12:04

    Use global Wordpress db object

    global $wpdb;
    
    $total_groups = $wpdb->get_var("SELECT COUNT(*) as t_records FROM wp_posts");
    
    打赏 评论
  • dongwen7380 2015-02-18 12:19

    The right way to do this would be by using wordpress post meta.Post meta's are built exactly for this kind of stuff. All validation and security features are taken care of by these functions, so you dont have to worry about anything. All you have to do is

    GETTING VALUES

    <?php $meta_values = get_post_meta( $post_id, $key, $single ); ?>
    

    CREATING / UPDATING VALUES

    <?php update_post_meta($post_id, $meta_key, $meta_value, $prev_value); ?>
    

    DELETING VALUES

     <?php delete_post_meta($post_id, $meta_key, $meta_value); ?> 
    

    Similarly you have meta values functions for users as well. Checkout the codex for further info,

    打赏 评论

相关推荐 更多相似问题