【功能需求】使用wordpress实现相册功能

2015/10/1222:53:55【功能需求】使用wordpress实现相册功能已关闭评论 1,262
摘要

wordpress代码如何实现相册功能?

网站相册要求达到的效果:

导航里做一个相册分类(用page或者single或者自定义都行),点击进去是一个相册分类,展示所有相册的封面,点击封面进去展示所有相片(相片太多的话要能分页)。点击其中的一张相片进入另外一个页面(或当前页面遮罩层),该页面显示刚才点击的这张相片的大图,并且下面一横排显示该相片同分类的其他相片的缩略图,左右有切换滚动按钮。可以参考QQ空间的相册功能。再考虑相应的评论功能

如果不会wordpress二次开发的话,其实可以用插件实现相册画廊功能。如Portfolio,还有很多相应的插件,都可以实现。

这样的需求不是单一的做一个页面模板就行,还要注册相应功能到function.php里,调用代码也相应插到模板文件里,其他......看来要付费才能二次开发的。

本人喜欢代码实现功能,有时间折腾吧。这里的一个相册思路

代码A:

使用WordPress做相册功能

很直接的原因,有些照片想和朋友共享,简单的想法就是直接发一篇文章,然后文章中只有照片和照片说明,读者可以评论。这其实和一片普通的文章没什么区别,唯一的不同在于这个页面的显示格式稍有不同。比如说,照片显示的时候最好没有边栏,显示照片类的时候,也应该没有边栏。

为此,需要做以下修改。
1.添加一个新的单页面模版。比如叫pict模版,然后判断如果是照片类的文章,就选用这个模版,否则用缺省的single模版。

2.添加一个新的分类页面模版picyarch,如果分类为照片类,那么选用这个模版。否则用缺省的分类模版。

具体的实现,可以通过添加一个filter 实现。代码如下所示。

function pic_temp($template){
 $category = get_the_category(); 
 if(is_single() && $category[0]->cat_name == "照片") {
 $template = get_query_template('pict') ;
 }
 if( ( is_category() || is_archive() ) 
 && $category[0]->cat_name == "照片" ){
 $template = get_query_template('pictarch') ;
 }
 return $template ; 
}
add_filter('template_include', 'pic_temp');

点击分类目录中的”照片”可以看到真实的效果。


代码B:

创建一个相册画廊:

图像大小例子:
add_image_size( 'album-grid', 225, 150, true );

创建一个模板文件archive-albums.php。创建循环,网页前台模板显示。

示例:

<li class="album-grid"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail('album-grid'); ?></a></li>
<?php if ( $post->post_type == 'albums' && $post->post_status == 'publish' ) {
 $attachments = get_posts( array(
 'post_type' => 'attachment',
 'posts_per_page' => -1,
 'post_parent' => $post->ID,
 'exclude' => get_post_thumbnail_id()
 ) );
 if ( $attachments ) {
 foreach ( $attachments as $attachment ) {
 $class = "post-attachment mime-" . sanitize_title( $attachment->post_mime_type );
 $title = wp_get_attachment_link( $attachment->ID, 'album-grid', true );
 echo '<li class="' . $class . ' album-grid">' . $title . '</li>';
 }
 }
 }
?>

学习

WordPress一览无余,源码面前没有秘密,wordpress的函数调用库,展示wordpress页面打开过程中十几万个函数调用,学习WP开发的绝佳资源。点击这里进入。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin