在Wordpress中使用PHP无法正常分页

时间:2016-05-24 02:50:29

标签: php wordpress pagination html-table custom-wordpress-pages

我有一个自定义页面模板,我找到了一个在html表中创建分页的PHP代码段。但是代码运行不正常。

更新:我更改了代码。但是代码仍然无法正常工作,当我点击第二页时,第二页只显示空白页。

如何解决这个问题?

if (isset($_POST['list_position']) && $_POST['list_position'] != 'Select by Position'){
    $list_position= $_POST['list_position'];
    $result_position= $wpdb->get_results($wpdb->prepare("SELECT DISTINCT id, submit_time, last_name, first_name, middle_name, mobile_number, email, location, position, message, attachment_resume_id FROM resume_databank WHERE position= '" . $list_position . "' ORDER BY position ASC", OBJECT));

$rows_per_page = 3;
$current = (intval(get_query_var('paged'))) ? intval(get_query_var('paged')) : 1;

global $wp_rewrite;

$pagination_args = array(
    'base' => @add_query_arg('paged','%#%'),
    'format' => '',
    'total' => ceil(sizeof($result_position)/$rows_per_page),
    'current' => $current,
    'show_all' => false,
    'type' => 'plain',
);

if( $wp_rewrite->using_permalinks())
    $pagination_args['base'] = user_trailingslashit(trailingslashit(remove_query_arg('s',get_pagenum_link(1))) . 'page/%#%/', 'paged');

if( !empty($wp_query->query_vars['s']))
    $pagination_args['add_args'] = array('s'=>get_query_var('s'));
    echo paginate_links($pagination_args);

$start = ($current - 1) * $rows_per_page;
$end = $start + $rows_per_page;
$end = (sizeof($result_position) < $end) ? sizeof($result_position) : $end;

    echo '<table id="paginate_result">';
        echo '<tr>';
        $optionId = 0;
        echo '<th>Submit Time</th>';
        echo '<th>Last Name</th>';
        echo '<th>First Name</th>';
        echo '<th>Middle Name</th>';
        echo '<th>Mobile Number</th>';
        echo '<th>Email</th>';
        echo '<th>Location</th>';
        echo '<th>Position</th>';
        echo '<th>Message</th>';
        echo '<th>Resume</th>';
        echo '<th>Processed?</th>';
        //foreach ($result_position as $record_s){
            for ($i=$start;$i < $end ;++$i ) {
            $row = $result_position[$i];
            $optionId++;
            echo '<tr>';
            echo '<td id="submit_time">' . $result_position[0]->submit_time . '</td>';
            echo '<td id="last_name">' . $result_position[0]->last_name . '</td>';
            echo '<td id="first_name">' . $result_position[0]->first_name . '</td>';
            echo '<td id="middle_name">' . $result_position[0]->middle_name . '</td>';
            echo '<td id="mobile_number">' . $result_position[0]->mobile_number . '</td>';
            echo '<td id="email">' . $result_position[0]->email . '</td>';
            echo '<td id="location">' . $result_position[0]->location . '</td>';
            echo '<td id="position">' . $result_position[0]->position . '</td>';
            echo '<td id="message">' . $result_position[0]->message . '</td>';
            echo '<td id="resumeFile'.$optionId.'"><a href=' . wp_get_attachment_url($result_position[0]->attachment_resume_id) . '>Download Resume</a></td>';
            echo '<td id="radioOption><label for="Yes">Yes</label>
                      <input type="radio" id="processedOptionYes'.$optionId.'" name="processedOption" value="Yes" onclick="proccessedCheck('.$optionId.',\'Yes\')"/>
                      <label for="No">No</label>
                      <input type="radio" id="processedOptionNo'.$optionId.'" name="processedOption" value="No" onclick="proccessedCheck('.$optionId.',\'No\')"/></td>';
            echo '</tr>';
        }
        echo '</table>';

1 个答案:

答案 0 :(得分:0)

参考该链接

http://www.rvoodoo.com/blog/wordpress-tip-fixing-pagination-on-custom-queries-with-query_posts/

此行之前的Content.php

<?php if ( have_posts() ) : ?> 

粘贴此内容

<?php  query_posts( array(
  'cat' => '-20',
  'paged' => ( get_query_var('paged') ? get_query_var('paged') : 1 ),
));?>