wordpress图片自动分页代码

128

把下面的代码放在主题目录下的 function.php 文件中,就能实现内容有图片就会自动分页,不用手动编辑,非常适合用wordpress做图片站的网站

[erphpdown]

//图片自动分页代码
add_filter( ‘the_posts’,function( $posts ) {
foreach( $posts as $the_post ) {
if ( in_array( $the_post->post_type, array(‘post’) ) && ! preg_match( ‘#<!–nextpage–>#i’, $the_post->post_content ) ) {
$pattern=”/(<img.*?src=(.*?)[\/]?>)/”;
$the_post->post_content = preg_replace($pattern, ‘${1}<!–nextpage–>’, $the_post->post_content);
}
}
return $posts;
});

function nextpage(){
global $pages;
$link = get_permalink();
$max_page = count($pages);
if (get_query_var(‘page’)) {
$pageno = get_query_var(‘page’);
}
else{
$pageno = ‘1’;
}
$next = $pageno+’1′;
if ($pageno == $max_page) {
$nextpage = get_permalink(get_adjacent_post(true,”,true));
}
else{
$nextpage = $link.’/’.$next;
}
return $nextpage;
}
function img_info ($img_info){
$pattern = “/<img(.*?)src=(‘|\”)([^>]*).(bmp|gif|jpeg|jpg|png)(‘|\”)(.*?)alt=(‘|\”)(.*?)(‘|\”)(.*?)>/i”;
$replacement = ‘<a href=”‘.nextpage().'” title=”点击图片查看下一张” ><img$1src=$2$3.$4$5 alt=”‘.get_the_title().'” $10></a>’;
$img_info = preg_replace($pattern, $replacement, $img_info);
return $img_info;
}
add_filter(‘the_content’, ‘img_info’);

 

再把下面的分页调用代码放到模板single.php的

<?php the_content();?> 这句代码下面

<!–分页–>

<?php wp_link_pages(array(‘before’=>'<div class=”pagesn”> ‘,’after’=>”,’next_or_number’=>’next’,’previouspagelink’=>'<span class=”pagesspan”>上一张</span>’,’nextpagelink’=>””)); ?>

<?php wp_link_pages(array(‘before’=>”,’after’=>”,’next_or_number’=>’number’,’link_before’=>'<span class=”pagesspan”>’,’link_after’=>'</span>’)); ?>

<?php wp_link_pages(array(‘before’=>”,’after’=>'</div>’,’next_or_number’=>’next’,’previouspagelink’=>”,’nextpagelink’=>’ <span class=”pagesspan”>下一张</span>’)); ?>
<!–分页–>

[/erphpdown]

效果如下,需要自行设置css样式

资源交流

声明:如需转载请注明出处!

相关阅读