在自定义模板文件中,我按以下方式创建查询:
<?php $query = new WP_Query(array(\'post_type\' => \'aya-bi-aya\',\'author\' => $current_user->ID,\'paged\' => $paged, \'post_status\' => array(\'publish\') ) ); ?>
为了执行分页,我在循环之后调用分页函数,如下所示:
<?php my_pagination($query->max_num_pages);?>
但在我的
taxonomy-xxx.php
, 当我以同样的方式调用分页时,会收到警告:
Notice: Undefined variable: query in C:\\xampp\\htdocs\\balagha-to-alquran\\production\\wp-content\\themes\\twentyten\\taxonomy-dawahir-balaghia.php on line 186
Notice: Trying to get property of non-object in C:\\xampp\\htdocs\\balagha-to-alquran\\production\\wp-content\\themes\\twentyten\\taxonomy-dawahir-balaghia.php on line 186
你能帮我解决这个问题吗?非常感谢您的帮助。
Edit and solution:
我的分页功能:
function my_pagination($pages = \'\', $range = 2)
{
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == \'\')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}
if(1 != $pages)
{
echo "<div class=\'pagination\'>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href=\'".get_pagenum_link(1)."\'>«</a>";
if($paged > 1 && $showitems < $pages) echo "<a href=\'".get_pagenum_link($paged - 1)."\'>‹</a>";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class=\'current\'>".$i."</span>":"<a href=\'".get_pagenum_link($i)."\' class=\'inactive\' >".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a href=\'".get_pagenum_link($paged + 1)."\'>›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href=\'".get_pagenum_link($pages)."\'>»</a>";
echo "</div>\\n";
}
}
我通过从函数调用中删除参数解决了这个问题(
$query->max-num-pages
) 在我的
taxonomy-xx.php
因为参数不是强制性的。如您所见,函数中有一个if语句,通过调用全局
$wp_query
. 非常感谢。