php 自定义样式,PHP分页类,支持自定义样式,中间5页

//namespace Component;

/**

* 2016-3-27

* @author ankang

*/

class Page {

private $ShowPage;

private $CountPage;

private $Floorp;

private $PageUrl;

private $PageClass;

private $CurClass;

/**

* @author ankang

* @param number $CountNum 数据总数

* @param string $PageUrl 跳转链接

* @param string $PageClass 标签 总体样式

* @param string $PageUrl 当前页样式

* @param number $PageSize 每页显示的数据条数

* @param number $ShowPage 每次显示的页数

*/

public function __construct($CountNum, $PageUrl = NULL, $PageClass = NULL,$CurClass = NULL, $PageSize = 20, $ShowPage = 5) {

$this->ShowPage = $ShowPage;

$this->CountPage = ceil ( $CountNum / $PageSize );

$this->Floorp = floor ( $ShowPage / 2 ); // 偏移量

$this->PageClass = is_null ( $PageClass ) ? ‘‘ : $PageClass;

$this->CurClass = is_null ( $CurClass ) ? ‘‘ : $CurClass;

// $ServerURL = ( preg_match(‘/\?/i‘, $_SERVER[‘REQUEST_URI‘]))?preg_replace(‘/\&p\=[0-9]+/i‘, "", $_SERVER[‘REQUEST_URI‘]) : $_SERVER[‘REQUEST_URI‘]."?";

// if( substr($ButURL,0,2)==‘//‘ ){

// $ServerURL = substr($ServerURL,1);

// }

// $url = preg_replace(‘/p=[\d]*/i‘, ‘‘, $ServerURL);

$url = ‘‘;

//推荐自己传url,不传也可以打开上面的代码自动获取

$this->PageUrl = is_null ( $PageUrl ) ? $url : $PageUrl;

}

/**

*

* @param number $Page

* @param string $ShowToPage

* 首页,上下页,尾页

* @param string $Html 标签元素,li,p

* @return string

*/

public function getPage($Page = 1, $ShowToPage = true, $Html = null) {

$StartPage = ($Page - $this->Floorp); // 开始页码

$EndPage = ($Page + $this->Floorp); // 结束页码

if ($this->CountPage < $this->ShowPage) {

$StartPage = 1;

$EndPage = $this->CountPage;

}

if ($StartPage < 1) {

$StartPage = 1;

$EndPage = $this->ShowPage;

}

if ($EndPage > $this->CountPage) {

$StartPage = $this->CountPage - $this->ShowPage + 1;

$EndPage = $this->CountPage;

}

$PageHtml = ‘‘;

if (! is_null ( $Html )) {

if ($Html == ‘li‘) {

$Shtml = ‘

‘;

$Ehtml = ‘

‘;

} else {

$Shtml = ‘

‘;

$Ehtml = ‘

‘;

}

}

if (true == $ShowToPage) {

$PageHtml .= "$ShtmlPageUrl}p=1‘>« 首页$Ehtml";

$PrveUrl = $this->getPrve($Page);

$PageHtml .= "$Shtml« 上一页$Ehtml";

}

for($i = $StartPage; $i <= $EndPage; $i ++) {

if ($Page == $i) {

$PageHtml .= "$ShtmlPageUrl}p={$i}‘ class=‘{$this->CurClass}‘>{$i}$Ehtml";

} else {

$PageHtml .= "$ShtmlPageUrl}p={$i}‘ class=‘{$this->PageClass}‘>{$i}$Ehtml";

}

}

if (true == $ShowToPage) {

$NextUrl = $this->getNext($Page);

$PageHtml .= "$Shtml下一页 »$Ehtml";

$PageHtml .= "$ShtmlPageUrl}p={$this->CountPage}‘ >尾页 »$Ehtml";

}

return $PageHtml;

}

public function getPrve($Page){

if ($Page != 1) {

$Prve = $Page - 1;

$PrveUrl = "{$this->PageUrl}p={$Prve}";

} else {

$PrveUrl = "{$this->PageUrl}p=1";

}

return $PrveUrl;

}

public function getNext($Page){

if ($Page != $this->CountPage) {

$Next = $Page + 1;

$NextUrl = "{$this->PageUrl}p={$Next}";

} else {

$NextUrl = "{$this->PageUrl}p={$this->CountPage}";

}

return $NextUrl;

}

}

78fb6e041c54bc08a29fc1555fff733a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WordPress自定义分页可以通过使用内置方法the_posts_pagination来输出分页式导航。这个方法可以根据后台设置的文章篇数来影响分页功能。使用方法如下: the_posts_pagination(参数); 其中,参数可以根据需要进行设置。你可以参考了解更多关于参数的说明和用法。 此外,你还可以在index.php面中添加相应的代码来实现自定义分页。可以在样式文件中引入style.css,然后在代码中通过循环显示文章标题、发布时间等相关信息,并在需要显示分页的地方调用lingfeng_pagenavi()函数来实现分页导航。你可以参考了解更多关于index.php面的代码示例。 如果你在WordPress官方或者其他资源中没有找到合适的分页控件,可以尝试在搜索引擎中使用不同的关键词进行搜索,可能会找到适合你的需求的分页控件。一些搜索引擎如搜狗也可以提供相关的搜索结果,可能会有适合你的分页控件。你可以参考了解更多关于寻找WordPress分页控件的经验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [wordpress自定义分页控件、获取文章中第1张图片](https://blog.csdn.net/tiz198183/article/details/125003497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值