2011-04
1

用Dropbox做文件中转

By xrspook @ 17:29:19 归类于: 烂日记

一直很小心对待的WordPress升级原来只需点击后台,升级过程不超过10秒就好了。不得不说,我一直以来都太小心了……但其实我一直没有对WP的核心程序做修改,我修改的只是插件和主题,恰好那两样东西都是核心WP程序所没有的,所以,即便升级,新程序覆盖上去,也是没有丝毫问题的。为什么从前我脑袋瓜里想到的是删除并重新建立而不是覆盖替换呢?!显然,我想过头了。

有xinca在一切问题都不是问题,即便有再大的问题,他老人家也一定可以解决。

自从我们搬到新服务器后就没有安装后台,所以当我向他要后台登录方式的时候他无法拿出。那怎么更新呢?没有后台,也没有FTP。今天我们用了一种全新的更新方式——Dropbox,利用Dropbox的同步实现读写!!!!太牛了!因为我要修改更新的只是些几KB的小php,转眼间Dropbox就同步完成,同步完成后,网页也就能显示了。我们利用Dropbox实现从前FTP的功能,但FTP,你懂的,那东西有多慢,而且Dropbox还能自动保存你不同版本的东西1个月,这种优势FTP无法与之相比。有什么比我们系统文件夹内操作更可视化的呢?

不得不说,利用Dropbox的同步技术,实现单机和服务器之间的数据交换真的爽!但唯一可能有缺陷的就是无法设置文件的各种读写权限,暂时,我还用不着那个。Dropbox同步是高超的,但同时也可以是致命的,如果某天某坏人删掉你电脑的那些东西,虽然Dropbox有后悔药,但还是很恐怖的。

今天偶尔发现WWE改版后的图片展示页出现了图片说明,但不是每张图片都有,通过href里的title或img里的alt体现,没搞懂,为什么img的引用地址居然用ref开头而不是src开头呢?不是说每个img必须有alt才能符合W3C的要求吗?显然,WWE改版后一些图片有alt一些没有,汗。首先我使用2个正则获取到图片地址及不是每个图片都有的描述,然后,再用2个for语句实现图片数组和描述数组的统一,这样做有点笨,希望有高手指点改进,源程序如下:

1
2
3
4
5
6
7
8
9
10
11
12
preg_match_all('/(?< =href="\/f)(.*?)" title="(.*?)">/', $data, $alt);
preg_match_all('/(?< =href="\/f).*\.jpg/', $data, $log);
for($m=0;$m<count($log[0]);$m++)
{
	for($n=0;$n<count($log[0]);$n++)
	{
		if($alt[1][$n]==$log[0][$m])
		{
			$alt2[$m]=$alt[2][$n];
		}
	}
}

感觉周赛图片WWE都没放描述,只在一些WrestleMania Axxess活动里放了,希望呢,那些做网页的勤快点,描述是很重要的啊!

今天是GA的musical drama集,兴奋呢!

2011-03
2

当Excel遇上WordPress

By xrspook @ 18:12:29 归类于: 烂日记

利用Excel,利用WordPress,应该能进化出我需要的东西。当规范化碰上规范化,理论上应该不会出什么乱子。为什么这么说呢?因为把Excel的东西粘贴到BlogBus的可视化编辑窗口,BlogBus把Microsoft的大部分东西都搬过去了,注意,是大部分!所以,有些格式存在,有些格式不存在,但WordPress的可视化窗口不一样,或许,粘到里面的和Excel里看到的有区别,因为那些很繁琐重复的句子,没有必要一定存在的句子它全部自动删除了,只剩下最核心的东西。这很好,而且,也就能解释为什么用Excel粘贴到Word再自动生成.htm文件大小为312KB,而用WordPress编辑后生成的,大小仅为49KB。这就是标准化的威力,标准是为了化繁为简,我也相信从WordPress里自动生成的源代码贴到哪里都一样,我不是个表格控,表格一直是我最头疼的东西,非万不得已,我不会在网页上使用表格。因为表格是个不利于网页源代码编写的东西,太累赘,太无法标记了。

之前从来没想过居然可以用WordPress生成一个网页,只要把WP header.php和footer.php的东西选择性合并到一个新模板里,一切皆有可能,当然啦,前提是你是故意要把那个模板弄成和其它页面完全不一样的,否则,利用通用的header.php和footer.php就好。

很高兴,做了一件很有意义的事。谢谢WordPress,这东西怎么老是可以给我成功感呢,嘻嘻嘻。

明天,要去疯狂了!

深圳欢乐谷,面对变态的机动游戏,我会很淡定的,尖叫,no way。

2010-12
9

持续改进

By xrspook @ 21:24:59 归类于: 烂日记

wp3.0.2升级感觉才一周,wp3.0.3又来了,又是安全问题,不过这个3.0.3只涉及远程发布的安全问题,所以只需更新很少一部分文件(就4个文件)就可以了。

重新启用了tweet.im,感觉我实在miss客户端,我太miss那些能随便t的日子,太miss那些从t上接收的信息。推而广之,我越发miss那些和妈到处吃的日子,更加miss那些可以随便晚睡不用担心身体出状况的青春。死不可怕,半死不活才最折磨人。每时每刻都在想怎么和别人斗牛的日子不好过。

今天早上很成功,7点半扦样的准时出发,7点45告诉我第一个样品到了,8点整,其余3个都送了过来,于是,非常神速地8点20之前搞定了所有,包括收拾东西和搞卫生。今天最后一个样品还卡砻谷机呢,不过幸好卡机之前已经积攒到足够多的糙米进行下一步操作,所以,卡机就卡机呗,大不了拧开几个螺丝找个吸尘器给它两下。感觉那个砻谷机比我手掌心愈合不久的新皮还敏感,每天总得卡那么一次或以上。国人设计的机器就不能“聪明”一点?非常想知道日本的实验砻谷机是怎样的,非常肯定的是质量一定比我们好,不会经常卡机,即便会卡机,打开机盖也会比我们的人性化。昨天下午换了个砻谷机的皮带,足足得拧开不下10个螺丝,而且还必须用到扳手。几周前,手指就是开砻谷机盖的时候被划到的,现在我再也不会赤手空拳去对付那麻烦的东西,必须找个螺丝刀去撬!

砻谷机经常卡机,碾米机出来的米断腰特多,整精米率不堪设想。这些国产货已经到达了一种让人非常厌恶的地步了。真不知道那些老是稻谷检验的人是怎么活过来的。除了认命就什么都不能干了?

很多很多东西都需要改进,就看你有没有持续上进的心的。

2010-08
26

当年今日入rss啦

By xrspook @ 23:02:56 归类于: 烂日记

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

上星期已经把“当年今日”功能加到blog里(详细见Arm 2 W),从一开始就打算要加入rss的,但费尽九牛二虎之力都没做到,但今天,终于攻克了!

到底什么原因呢?

首先,我们要看我当年今日的源代码,利用

< ?php wp_today();? >

完成插入,在function.php的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function wp_today(){
	$title = "<h3>当年今日</h3>";
	$limit = 10;
	$order = "latest";
	$post = 1;
	$feed = 1;
 
 
	global $wpdb;
	$post_year = get_the_time('Y');
	$post_month = get_the_time('m');
	$post_day = get_the_time('j');
	if($order == "latest"){ $order = "DESC";} else { $order = '';}
 
	$sql = "select ID, date(post_date_gmt) as h_date, post_title, comment_count FROM 
			$wpdb->posts WHERE post_password = '' AND post_type = 'post' AND post_status = 'publish'
			AND year(post_date_gmt)!='$post_year' AND month(post_date_gmt)='$post_month' AND day(post_date_gmt)='$post_day'
			order by post_date_gmt $order limit $limit";
	$histtory_post = $wpdb->get_results($sql);
	if( $histtory_post ){
		foreach( $histtory_post as $post ){
			$h_date = $post->h_date;
			$h_post_title = $post->post_title;
			$h_permalink = get_permalink( $post->ID );
			$h_comments = $post->comment_count;
			$h_post .= "<li>$h_date -- <a href='".$h_permalink."' title='Permanent Link to ".$h_post_title."'>$h_post_title</a> <!--($h_comments) --></li>";
		}
	}
 
	if ( $h_post ){
		$result = "".$title."<ul>".$h_post."</ul>";
	}
	echo $result;	
}

这堆代码,要实现在blog的某个位置输出当年今日没有任何问题,但要注意,数据是用“echo $result;”完结的,这就埋下了伏笔。

我试过很多回,试图在function.php加入以下这堆代码调用上面的代码实现当年今日在rss中的输出:

1
2
3
4
5
6
7
8
9
10
function wp_today_rss($content){
    if (is_feed()){
		$content = $content.wp_today();
		return $content;
	}
	else {
		return $content;
	}
}
add_filter('the_content', 'wp_today_rss');

输出是能输出了,但结果很囧,见图:

当年今日输出在了正文前面!(那堆乱码东西是正文),但代码中我明明是这般写的“$content = $content.wp_today();”,东西应该加在后面的,但实际上却在前面,这让我百思不得其解。

无可奈何,今天试过用最笨的方法把wp_today()除echo $result;以外的数据全部往function wp_today_rss里放,能实现了我希望的效果,见图:

到底怎么办呢?难道要很笨地把同1段代码写2回?????

狂抓不已,于是就去请教别人了,但一请教,人家还没回答我就有了头绪,不如把上面两段代码拆分为3段,即:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
function get_today(){
	$title = "<h3>当年今日</h3>";
	$limit = 10;
	$order = "latest";
	$post = 1;
	$feed = 1;
 
 
	global $wpdb;
	$post_year = get_the_time('Y');
	$post_month = get_the_time('m');
	$post_day = get_the_time('j');
	if($order == "latest"){ $order = "DESC";} else { $order = '';}
 
	$sql = "select ID, date(post_date_gmt) as h_date, post_title, comment_count FROM 
			$wpdb->posts WHERE post_password = '' AND post_type = 'post' AND post_status = 'publish'
			AND year(post_date_gmt)!='$post_year' AND month(post_date_gmt)='$post_month' AND day(post_date_gmt)='$post_day'
			order by post_date_gmt $order limit $limit";
	$histtory_post = $wpdb->get_results($sql);
	if( $histtory_post ){
		foreach( $histtory_post as $post ){
			$h_date = $post->h_date;
			$h_post_title = $post->post_title;
			$h_permalink = get_permalink( $post->ID );
			$h_comments = $post->comment_count;
			$h_post .= "<li>$h_date -- <a href='".$h_permalink."' title='Permanent Link to ".$h_post_title."'>$h_post_title</a> <!--($h_comments) --></li>";
		}
	}
 
	if ( $h_post ){
		$result = "".$title."<ul>".$h_post."</ul>";
	}
	return $result;
}
function wp_today(){
	echo get_today();
}
function wp_today_rss($content){
    if (is_feed()){
		$content = $content.get_today();
		return $content;
	}
	else {
		return $content;
	}
}
add_filter('the_content', 'wp_today_rss');

嘿嘿,对味!function get_today()是核心代码,function wp_today()用作来打印输出,function wp_today_rss()使之能加入到rss中。哈,“echo $result;”换成了“return $result;”解决了纠结我很久的千古难题。只能叹一句,从前的函数调用没领会透,也没有认真留意数据返回那些事。

最后,终于把问题解决了,爽得飞天,哈哈哈~~~~

PS:感谢SH童鞋的鼎力支持!

PS2:代码可能在rss中不能全部显示,有需要者请移步网页。

2010-08
19

Arm 2 W

By xrspook @ 22:22:57 归类于: 烂日记

还记得那个短语armed to the teeth?!武装到牙齿啊!(having many weapons 全副武装)这个“Arm 2 W”又是什么意思呢?Arm,作动词,继续表示装备;2,有二的意思,也有to的意思;W,亲爱的WordPress。今天为WordPress装备了2个新武器,大大增加阅读的延展性。

1、WordPress Related Posts:鼎鼎大名的相关文章插件,利用的是tags的相关性。这个插件我是直接装了,貌似很复杂,而且是水煮鱼的产品,一切都非常人性化,可以作widget也可以代码插入,想插哪里就插哪里,而且作者已经预留了一些可自定义的class,所以要格式化很简便。

2、WP-Today:历史上的今天,对于我的blog来说,历史悠久且记录齐全,历史上的今天很有必要摆出来show一show,嘿嘿。这个插件原理比较简单,而且由于作者并没有把插件小工具话,只能自动连到文章末端,也有手动设置,但我试了好多次都不成功,于是把代码经过修改后直接贴到自己Color3的function.php里了。

有图有真相。

第一个插件没费我多少心思就完成安装格式化了,但第二个,折腾了我好久。虽然玩wp的时间不短了,但对function.php还是不熟悉,那片土地对我来说简直就是亚马逊的原始森林。即便加个简单的function {}也会让我狠抓,因为修改这里和修改wp主题的其他文件不一样,一旦有任何差错无论前台后台都会一片空白,幸好我是脱机调试,在Notepad++上修改,所以还能经常重来。WP-Today这个插件原始版本是这样的,但如果插入主题的function.php就不需要全部,只需要部分,我只加了这些

我把它的默认条数限制从5条调整为10条,把只显示年份改为显示标准的Y-m-d(年年年年-月月-日日)。

关于function.php的代码插入法,很有必要简单总结一下:

一、若插入的function {}中间并无使用,可以直接把代码插到括号中;
二、若function {}中有使用,需要…,“…”代表那些含html和php格式的部分,不明白为什么要这么弄,但貌似都是这般折腾的。

我的天最重要的价值在于TA的坚持,希望这样的改进能让读者多转几分钟吧,嘻嘻。

© 2004 - 2026 我的天 | Theme by xrspook | Power by WordPress