如何在此页面上实现“加载更多”?

时间:2015-11-07 20:54:02

标签: php wordpress

查看此页面:http://goo.gl/mnG09W

向下滚动到页面底部,查看“最新反馈”部分。看看它最终如何变长?希望及时它会变得更长。

我想要的是显示10个反馈,然后为其余的反馈显示“加载更多”按钮或类似的东西。

以下是该文件中与该位相关的代码:

                <div class="box_title_feedbk"><?php echo __("Latest Feedback",'PricerrTheme'); ?></div>
            <div class="box_content_feedcontz">

        <?php



                global $current_user;
                get_currentuserinfo();

                $the_id = get_the_ID();

                $pid = get_the_ID();
                $post = get_post(get_the_ID());
                $uid = $post->post_author;
                $author = get_userdata($uid);

                global $wpdb;
                $query = "select distinct *, ratings.id ratid from ".$wpdb->prefix."job_ratings ratings, ".$wpdb->prefix."job_orders orders, 
                ".$wpdb->prefix."posts posts where posts.ID=orders.pid AND posts.ID='$pid' AND 
                 ratings.awarded='1' AND orders.id=ratings.orderid AND posts.post_author='$uid' order by ratid desc limit 12";
                $r = $wpdb->get_results($query);

                if(count($r) > 0)
                {


                    foreach($r as $row)
                    {
                        $post = $row->pid;
                        $post = get_post($post);
                        $user = get_userdata($row->uid);

                        ?>

                        <div class="post" style="border:0" id="post-<?php echo $row->ratid; ?>">
                            <div class="padd10_only">
                            <div class="image_holder4">
                            <img width="25" height="25" border="0" src="<?php echo pricerrTheme_get_avatar($row->uid,25,25); ?>" />
                            </div>

                        <div class="title_holder4" >
                        <h2><a href="<?php echo get_bloginfo('siteurl'); ?>/user-profile/<?php echo $user->user_login; ?>"><?php echo $user->user_login; ?></a> 
                        <span class="rating-beeing-done"><?php

                        $xx = current_time('timestamp',0) - $row->datemade;
                        $xx = PricerrTheme_prepare_seconds_to_words($xx);


                                echo sprintf(__("wrote %s ago",'PricerrTheme'), $xx); 



                         ?></span></h2>



                        <div class="c111"><p><?php

                        if($row->grade == 1) echo '<img style="float:left" src="'.get_bloginfo('template_url').'/images/thup.png" border="0" /> &nbsp;';
                        if($row->grade == 0) echo '<img style="float:left" src="'.get_bloginfo('template_url').'/images/thdown.jpg" border="0" /> &nbsp;';

                        ?>
                        <?php echo stripslashes($row->reason); ?></p>
                        </div>


                        </div> 



                        </div>
                        </div>


                        <?php

                    }

                }
                else
                {
                    _e("The service doesn't have feedback yet.","PricerrTheme");    
                }
            ?>


        </div>

所以我需要在那里实现的功能。我认为应该不难做到,但是,我不确定。

希望有人可以提供帮助。感谢。

1 个答案:

答案 0 :(得分:0)

您有几个选择:

  1. 您限制要显示的前X个条目的查询,具有&#34;加载更多&#34;链接然后加载下一个分页步骤或显示所有。 https://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters

  2. 您隐藏除了前X个查询之外的所有查询,然后使用JS函数来操作DOM以显示其余的查询。 http://code-tricks.com/jquery-read-more-less-example/

  3. 利用WP-REST API作为某些JS / AJAX函数的服务来控制和显示项目。 http://wp-api.org/ https://css-tricks.com/using-the-wp-api-to-fetch-posts/

  4. 你的问题的答案实际上比SO的设计更为复杂。这个答案应该有助于指明您正确的方向,以便您可以了解您的需求。