我有一个使用WordPress生成的产品页面来获取产品并显示它们,但是我希望能够限制一次可见的数量。
WordPress/PHP生成代码:
$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> £' . 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?
如果您需要更多信息,我应该能够提供它。
发布于 2014-07-04 21:35:38
get_pages()还有"offset“参数,如果你不显示第一页,你应该用它来跳过一些内容。AJAX或非AJAX-取决于您需要什么。您可以通过url (那些页面导航链接)传递页面参数,在这种情况下,可以共享包含页码的URL。但是如果你不想这样,你可以使用AJAX。它可能会提供更好的结果,但实现起来有点困难。我投票给非ajax解决方案。
发布于 2014-07-04 22:12:46
查看我用来生成页面链接的函数。您应该调用get_paging()。- prefix是应该在部分分页程序创建之前添加的链接的一部分,- curr是当前页面的数量- cnt是总的页面数量。
它不是完美的,但它对我来说很有效。您可以根据自己的需要随意调整它。
function get_paging ($prefix, $curr, $cnt){
if($cnt<2) return ''; // no paging needed
$prev = '« PREV';
$next = 'NEXT »';
$ret='<div id="pager">';
if ($curr > 1) $ret.='<a class="pagingPrev" href="'.$prefix.''.($curr-1).'">'.$prev.'</a> '; // prev: -1 leap
else $ret.='<span class="pagingPrevDisabled">'.$prev.'</span> ';
$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> '; // not a link
else
return '<a href="'.$prefix.$num.'">'.$num.'</a> '; // link
}https://stackoverflow.com/questions/24574962
复制相似问题