How to show data from database in wordpress?

落花浮王杯 提交于 2019-12-13 07:42:34

问题


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(); ?>

回答1:


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




回答2:


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




回答3:


Use global Wordpress db object

global $wpdb;

$total_groups = $wpdb->get_var("SELECT COUNT(*) as t_records FROM wp_posts");



回答4:


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,




回答5:


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).



来源:https://stackoverflow.com/questions/28583066/how-to-show-data-from-database-in-wordpress

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!