PHP在错误的位置输出代码

时间:2010-12-12 08:23:51

标签: php wordpress pagination

我有这段代码,可以为幻灯片显示创建导航。它的工作正常,只是其中一个变量将代码呈现在错误的位置。如下所示$imgCount(3/3)应位于<div class="next-prev"> </div>内,但它会在此div之前显示。

为什么它会移动到它内部编码的div之外?

以下是我希望它输出的方式:

<div class="slideshow-nav">
    <div>
         <div class="next-prev">
             <a href="/slideshow-one/2/">&larr; Previous  3 of 3  </a><a href="../">Back to Slide One</a>
         </div>  
    </div>
</div>

以下是输出方式:

<div class="slideshow-nav">
    <div>3 of 3
         <div class="next-prev">
             <a href="/slideshow-one/2/">&larr; Previous  </a><a href="../">Back to Slide One</a>
         </div>  
    </div>
</div>

以下是设置它的代码:

<div class="slideshow-nav">
    <div class="img-count">
        <?php function img_count() {
            global $page, $numpages;
            echo "$page of $numpages"; 
            } ?>
      </div>
     <div>
        <?php 
            global $page, $numpages;
                    $imgCount = img_count();
                if ($page < 2)
                    $next = '<span class="start-ss">Go</span>';
                else
                    $next = ' Next &rarr;';
                if ($page == $numpages)
                    $previous = '&larr; Previous  ' .$imgCount. ' <a href="../">Back to Slide One</a>';
                else
                    $previous = '&larr; Previous  ...';
            wp_link_pages(      
                array(
                'before' => '<div class="next-prev">',
                'after' => '</div>',
                'next_or_number' => 'next',
                'nextpagelink' => $next,
                'previouspagelink' => $previous,
                )); 
            ?>  
       </div>
</div>

1 个答案:

答案 0 :(得分:6)

在您的函数中将echo更改为return,例如

function img_count() {
    global $page, $numpages;
    return "$page of $numpages"; 
}