首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP生成的产品页面例如:页面:[1] 2 3 4

PHP生成的产品页面例如:页面:[1] 2 3 4
EN

Stack Overflow用户
提问于 2014-07-04 21:00:09
回答 2查看 99关注 0票数 0

我有一个使用WordPress生成的产品页面来获取产品并显示它们,但是我希望能够限制一次可见的数量。

WordPress/PHP生成代码:

代码语言:javascript
复制
$pages = get_pages(array('parent' => $post->ID, 'hierarchical' => 0, 'number' => $postsPerPage, 'sort_order' => 'ASC', 'sort_column' => 'menu_order'));
foreach ($pages as $page) {
    $content = '<div class="pcp-product-display">
                    <div class="pcp-left-product-display-container">
                        <h2>' . $page->post_title . '</h2>';
    $content .=         '<div class="pcp-img-container">'. get_the_post_thumbnail($page->ID, 'thumbnail') .'</div>
                    </div>
                    <div class="pcp-right-product-display-container">
                        <div class="pcp-product-excerpt">' . get_field('page_excerpt', $page->ID) . '</div>';
    $content .=         '<div class="price"><p> &pound;' . get_field('product_price', $page->ID) . '</p></div>
                        <div class="pcp-product-display-cta">
                            <a href="' . get_permalink($page->ID) . '"><h3>More Information</h3></a>
                        </div>
                    </div>
                </div><!--
                        -->';
                echo $content;
            }

下面是页面的外观:

我已经让“每页的项目”在顶部工作,但我希望它与页面一起工作。

我想用“产品页面”来做这件事,例如,你可以看到产品1-10,还有3个页面可以循环浏览。(Page: [1] 2 3 4)

我不确定我该怎么做才能让“产品页面”工作。

最好是使用AJAX并抓取产品11-20,然后展示它们?

或者我应该使用PHP和WordPress?

如果您需要更多信息,我应该能够提供它。

EN

回答 2

Stack Overflow用户

发布于 2014-07-04 21:35:38

get_pages()还有"offset“参数,如果你不显示第一页,你应该用它来跳过一些内容。AJAX或非AJAX-取决于您需要什么。您可以通过url (那些页面导航链接)传递页面参数,在这种情况下,可以共享包含页码的URL。但是如果你不想这样,你可以使用AJAX。它可能会提供更好的结果,但实现起来有点困难。我投票给非ajax解决方案。

票数 0
EN

Stack Overflow用户

发布于 2014-07-04 22:12:46

查看我用来生成页面链接的函数。您应该调用get_paging()。- prefix是应该在部分分页程序创建之前添加的链接的一部分,- curr是当前页面的数量- cnt是总的页面数量。

它不是完美的,但它对我来说很有效。您可以根据自己的需要随意调整它。

代码语言:javascript
复制
function get_paging ($prefix, $curr, $cnt){

    if($cnt<2) return ''; // no paging needed
    $prev = '&laquo; PREV';
    $next = 'NEXT &raquo;';

    $ret='<div id="pager">';

    if ($curr > 1) $ret.='<a class="pagingPrev" href="'.$prefix.''.($curr-1).'">'.$prev.'</a>&nbsp;&nbsp;&nbsp;'; // prev: -1 leap
    else $ret.='<span class="pagingPrevDisabled">'.$prev.'</span>&nbsp;&nbsp;&nbsp;';

    $start  = 1; // middle range links
    $end = $cnt;

    for ($i=$start; $i <= $end ; $i++){
        $ret.=paging_number($i,$curr,$prefix); // middle range
    }

    if ($cnt > $curr) $ret.='<a class="pagingNext" href="'.$prefix.''.($curr+1).'">'.$next.'</a>'; // next: +1 leap
    else $ret.='<span class="pagingNextDisabled">'.$next.'</span>';
    $ret.='</div>';
    return $ret;
}

function paging_number($num, $curr,$prefix){
    if ($num == (int)$curr)
        return '<span class="currPage">'.$num.'</span>&nbsp;&nbsp;&nbsp;'; // not a link
    else
        return '<a href="'.$prefix.$num.'">'.$num.'</a>&nbsp;&nbsp;&nbsp;'; // link
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24574962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档