自定义主题显示注意未定义的变量:function.php中的wp_query

时间:2014-06-29 18:10:19

标签: php wordpress function

我在function.php中有一个代码,用于在自定义主题index page中显示分页,但它在同一行$wp_query中显示两个错误

  • Undefined variable: wp_query in function.php

  • Trying to get property of non-object in function.php

我的职能:

function getpagenavi(){
        ?>
<div id="pagination" class="clearfix">
<?php
 if (function_exists('wp_pagenavi')): ?>
<?php
 wp_pagenavi()  ?>
<?php  else : ?>
        <div class="alignleft">  
        <a href="<?php $max = $wp_query->max_num_pages; previous_posts();?>" class="classname" title="Previous post">Previous post</a></div>
        <div class="alignright"><a href="<?php  next_posts($max);?>" class="classname" title="Next post">Next post</a></div>
        <div class="clear"></div>
<?php
 endif; ?>
</div>
<?php
    }

我该怎么做才能纠正这个错误?

2 个答案:

答案 0 :(得分:1)

在该功能范围内未定义$wp_query->max_num_pages时,您正在使用$wp_query

假设您知道wp_query在调用该函数时应该是什么,您可以在getpagenavi函数的顶部添加以下行:

Global $wp_query;

或更好,将其作为参数传递:

// where you call the function assuming $wp_query exists there.
getpagenavi($wp_query);

// your function
function getpagenavi($wp_query){

答案 1 :(得分:0)

WP_Query作为全局变量:

<?php

    global $wp_query;

    echo 'Results: ' . $wp_query->found_posts;

?>