前几天,想搭建一个类似于花瓣的网站……动机(这个……可以先不说么)。那就先义务给神器打个广告Sublime Text2的正式版终于发布了……至于为神马它是个神器,不便多解释……谁用谁知道……有个介绍的帖子在这儿。
回归正题,要搭建一个类似于pinterest或者是国内山寨版的——花瓣网的图片分享类的网站的话,首先需要个稳定的后台作为支撑,考虑到对各编程语言的熟悉程度和修改难易程度,选用了PHP的Wordpress。其实还可以选php语言的drupal或者是python语言的Django 框架搭……但是嫌麻烦就算了。
第二,需要个类似的wordpress主题,这里我就借鉴了一下花瓣网的css,然后大体上改了下,就差不多的样子了。至于怎么改主体,这里有篇文章专门讲解wordpress的循环的逻辑框架的。传送门在此……
第三,需要实现几个细节上面的问题。
I.我搭建的这个小站是专门给某人使用的,所以整站加密是不可少的,于是呼,写了个“巨难看”的加密登录界面……有待改进……效果图如下:
实现代码:
编辑主体的目录下的header.php在第一行之前添加以下代码code.php
<?php session_start();if( isset(_SESSION['authenticated'] == 'yes') { authenticated = 'no'; } } else { authenticated != 'yes') { // 将localhost 改成你的网站首页地址 header("Location: http://localhost/login.php"); exit(); } ?>
然后新建一个login.php到你的网站的根目录下面内容如login.php
II.介于MM们如果是用wordpress的话会晕头转向的,所以推荐使用wordpress的手机客户端,那么就跟其他的客户端一样了,可以随手拍,随时上传就可以,上传后照片的命名是个大问题,因此上传后,按照当前的时间戳重命名照片。还有个问题,wordpress上传图片是按照文章的形式发布的,我想大多数MM应该是懒得填写标题的,我又不希望看到满篇的Untitled文档,动手改一下wordpress的命名规则:若MM手动输入了文章的标题,则就按照她输入的标题,假若没有输入标题,则将当前的时间戳当作是标题,也方便日后整理照片了。
实现上传后文件重命名功能,对wordpress修改如下:
打开“wp-admin/includes/file.php”文件,找到第327行这段代码:
// Move the file to the uploads dir uploads['path'] . "/file['tmp_name'], upload_error_handler( uploads['path'] ) );
修改为
// Move the file to the uploads dir uploads['path'] . "/".date("YmdHis").floor(microtime()*1000).".".file['tmp_name'], upload_error_handler( uploads['path'] ) );
同理,实现文章自动命名的功能,将下面的代码添加到博客主题的function.php中:
function creat_status_title( _POST['post_title'] != '') return;//判断是否有标题,如果有则不用生成 my_post = array(); post_ID; _POST['post_title']; wp_update_post( $my_post );//更新文章标题 } add_action('publish_post', 'creat_status_title', 0);//挂上钩子,即在文章发布、更新的时候执行creat_status_title()函数
然后,就算大功告成了……当然好不好看就看前台的Js和Css水平了
最后来张效果图:
(马赛克还是必须要打滴,要不就被人肉了)
当然,如果你想做的好看点的话,可以自己写点js,让你的网站支持动态重排,即,不论浏览器的窗口有多宽,多窄都能完美地显示你的图片。^^
我去,那是马赛克吗。。。
必须滴马赛克啊……就是有点大,哈哈哈
link
用WordPress打造类Pinterest图片网站 | Definite
Webseite besuchen
用WordPress打造类Pinterest图片网站 | Definite