2015-02-18 11:56
浏览 174


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

$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);

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


$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 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);


    打赏 评论
  • dtdfl62844 2015-02-18 12:03

    Use $wpdb

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


    打赏 评论
  • 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


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


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


     <?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,

    打赏 评论

相关推荐 更多相似问题