【问题标题】:Creating PHP previous page button on first page in WordPress在WordPress的第一页上创建PHP上一页按钮
【发布时间】:2016-07-18 22:19:05
【问题描述】:

我有这个 PHP 代码,在显示 WordPress 子页面的上一页/下一页的箭头时效果很好:

<?php // Button Code for Prev and Next Page
            $my_wp_query = new WP_Query();
            $all_wp_pages = $my_wp_query->query(
                array('post_type' => 'page'));          

            $portfolio =  get_page_by_title('Services');                    

              $args = array (
                'child_of' => $portfolio->ID,
                'sort_order' => 'asc',
                'post_type' => 'page'
                );

             $portfolio_children = get_pages( $args );             

            $pages = array();
            foreach ($portfolio_children as $page) {
            $pages[] += $page->ID;
            }           
            $current = array_search($post->ID, $pages);
            $prevID = $pages[$current-1];
            $nextID = $pages[$current+1];
        ?>
        <div class="navigation">
            <?php if (!empty($prevID)) { ?>
                <div class="previousarrow">
                    <a href="<?php echo get_permalink($prevID); ?>" title="<?php echo get_the_title($prevID); ?>">
                        <img src="<?php bloginfo('url');?>/wp-content/uploads/2016/06/previousbutton.png">
                    </a>
                </div>
            <?php }
            if (!empty($nextID)) { ?>
                <div class="nextarrow">
                    <a href="<?php echo get_permalink($nextID); ?>" title="<?php echo get_the_title($nextID); ?>">
                        <img src="<?php bloginfo('url');?>/wp-content/uploads/2016/06/nextbutton.png">
                    </a>
                 </div>
             <?php } ?>
        </div>  

问题是在第一页和最后一页上,我无法显示上一个/下一个按钮以转到子页面的“最后一页或第一页”。

示例 一个(父母)

1(子页面 1)

2(子页面 2)

3(子页面 3)

我希望第 1 页上的前一个选项转到第 3 页,反之亦然,但我无法弄清楚。任何帮助表示赞赏。

【问题讨论】:

    标签: php html wordpress


    【解决方案1】:

    由于 php if 参数,按钮没有出现,这消除了第 1 页上的前一个箭头和第 3 页上的下一个箭头,因为它会将它们识别为空。解决此问题的一种方法是删除 if 子句并使用 if 语句来定义您的 prevID 和 nextID 变量,或者您可以在每个 if 语句定义要显示的上一个/下一个按钮之后简单地添加 else 语句。但是,这两种解决方案都是临时的,因为您需要页数才能实现它们,这可能会发生变化。相反,请使用此代码确保即使您添加其他页面,此功能也会保持不变:

    <?php if (empty($prevID)) { $firstpage = $pages[$current]; }
    if (empty($nextID)) {$lastpage = $pages[$current]; }
    

    这将定义第一页和最后一页的值,并且可以在定义 prevID 和 nextID 后简单地插入。现在只需像这样添加 php else 语句:

    </div> <?php }
    else { ?>
    <div class="previousarrow>
    <a href="<?php echo get_permalink($lastpage); ?>" 
    title="<?php echo get_the_title($lastpage); ?>">
    <img src="<?php bloginfo('url');?>
    /wp-content/uploads/2016/06/previousbutton.png"></a></div>
    <?php }
    

    此代码块将插入到您的第一个 div 类之后,因为当不存在上一页时,上一箭头应该导航到最后一页。在第二个 div 类之后执行完全相同的操作,将 lastpage 变量替换为我们创建的 firstpage 变量。希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多