Home > WordPress > 在 PhilNa2 中使用 Hook

在 PhilNa2 中使用 Hook

主题难免要修修改改. 在代码时我故意留了些可以个性化的 Hook 供大家使用.

实现方法是用 add_action 和 add_filter 函数. (更多相关信息请到官方查看文档). 比如我的文章中的声明, Google 广告, 页脚的备案等内容就是通过这种方法实现的.

下面以修改欢迎词为例简单说明:

本修改针对 PhilNa2 version 2.0.3

修改原理:
通过添加过滤器: add_filter函数实现.

首先打开app文件夹的template_functions.php文件找到welcome_msg函数部分, 大约在415行, 你会看到针对Google搜索过来的访客的欢迎词处理.

415
if($m = apply_filters('welcome_msg_google_search',$str))

因此要修改来自Google搜索访客的欢迎词可以使用如下代码:(你可以将一下代码放到主题根目录functions.php的最后面,当然也可另外建一个文件, 另外引入也行)

function my_welcome_msg_for_google($msg){
	$msg = '欢迎来自Google的朋友....';//这里写你想要显示的内容. 可以使用html
	return $msg;
}
add_filter('welcome_msg_google_search',my_welcome_msg_for_google);

其他的以此类推. 考虑到并非所有人都要修改一番, 这里不再列出所有可修改的 Hook 接口. 主题使用了很多中文注释, 很容易明白.

为什么要这么做? 主要是为了避免主题的频繁更新, 可能导致部分忠实用户的个性化修改麻烦. 写好函数后, 以后更新了, 再次导入引用就会相对方便些. 当然也了, 我的主题并不是团队合作更新, 可能更新的频率也不会高, 只是提供一种思路吧. 实在不喜欢的朋友, 还是建议直接修改源代码.

  1. welee Oct 6th, 2009 @ 01:01 | #1

    越来越强大了,拜服~ :roll:

  2. mg12 Oct 6th, 2009 @ 01:03 | #2

    板凳! 你这主题越来越多元化了.

  3. grubylee Oct 6th, 2009 @ 03:00 | #3

    沙发,板凳都没有了。

  4. adomit Oct 7th, 2009 @ 17:32 | #4

    现在做主题的都好厉害,我都不敢学着做了,献丑献得太离谱可不好。还是静静地学习好了。 :roll:

  5. 吖Bee Oct 7th, 2009 @ 17:36 | #5

    那就太好了~ :cool:

  6. Leeiio Oct 7th, 2009 @ 18:01 | #6

    有朝着主题框架的方向去的趋势~

  7. Rui Oct 7th, 2009 @ 22:43 | #7

    主题越来越强大~

  8. bolo Oct 7th, 2009 @ 22:53 | #8

    感觉这个主题很多功能都可以提取出来做插件

  9. Alex Oct 10th, 2009 @ 08:44 | #9

    我也想加一个欢迎信息,但样式还没有像好。。

  10. grubylee Oct 10th, 2009 @ 15:07 | #10

    @bolo
    感觉博主是把插件的功能集成到了主题。。

  11. 星网 Oct 16th, 2009 @ 20:37 | #11

    唉.看来我是多余的!我对这个真的不怎么懂……

  12. 游乐园 Oct 22nd, 2009 @ 16:07 | #12

    跌跌撞撞,终于来到博主的博客来了。
    之前看到有朋友用博主的主题,一直比较好奇和感兴趣,呵呵,现在终于有机会过来围观一下了。
    对博主的自我剖析,深有感触,感觉自己也是一丘之貉,平时好像不愿意交流,内心又很想和别人吹牛吹的天昏地暗。
    欢迎回踩和交换友链。

  13. 1w Oct 24th, 2009 @ 10:44 | #13

    给博主提个建议…

    现在主题上有些地方, 例如每个日志框的右上角处, 还有每条评论的左下角处, 都有一个三角形的符号.. 这可能是博主用来做美化的吧.

    但是这种三角型符号(特别是以三条平行线来构成的)通常被认为是一种交互方式的暗示, 代表此处可以通过鼠标的拉拽来改变(re-size)框的大小.. 这可能是从以前 windows 窗口拖动大小控件的表示方法继承而来的(对于软件界面的交互我也懂得不多, 说错了还望包涵). 所以我看到有这个标示, 总忍不住想去拖一下.. 结果是不能改变大小的. 所以这个地方用这种有明显交互暗时的符号不是很好…

  14. TryLife Oct 25th, 2009 @ 03:15 | #14

    好久没来过来凑凑热闹

  15. Willin Oct 27th, 2009 @ 13:08 | #15

    网页错误详细信息

    用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; InfoPath.2)
    时间戳: Tue, 27 Oct 2009 04:45:41 UTC

    消息: ‘null’ 为空或不是对象
    行: 8
    字符: 304
    代码: 0
    URI: http://willin.org/wp-content/themes/philna2/js/yinheli.min.js.php

  16. Willin Oct 27th, 2009 @ 13:17 | #16

    网页错误详细信息

    用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CIBA; InfoPath.2)
    时间戳: Tue, 27 Oct 2009 05:17:28 UTC

    消息: 语法错误
    行: 1
    字符: 1
    代码: 0
    URI: http://willin.org/wp-content/themes/philna2/js/contact.min.js.php

    消息: ‘null’ 为空或不是对象
    行: 8
    字符: 304
    代码: 0
    URI: http://willin.org/wp-content/themes/philna2/js/yinheli.min.js.php

  17. grubylee Oct 27th, 2009 @ 19:45 | #17

    @1w
    囧.有见解,每次都忍不住候拖一下.. :roll:

  18. nomessi Oct 28th, 2009 @ 03:53 | #18

    非常不错的主题 但是如果能多引入圆角框的话我觉得效果会更好:)只是个人意见~

  19. liton Oct 29th, 2009 @ 18:03 | #19

    @grubylee
    说实话,我拖了好几次了…

  20. Chloe Nov 7th, 2009 @ 22:26 | #20

    想請問,Comments的編號,
    #1沙發、#2板凳,如果不想要沙發和板凳這兩個詞,要去哪邊刪掉呢?
    實在找不到…orz

  21. 江流 Dec 4th, 2009 @ 16:23 | #21

    我始终不明白要怎么加上“声明”

  22. 小烦 Feb 7th, 2010 @ 17:18 | #22

    同楼上,声明如何修改?

  23. 小烦 Feb 7th, 2010 @ 18:11 | #23

    补充下,我在Loop里面添加声明语句.

    为什么主页日志下方也会显示?

  24. surun Feb 13th, 2010 @ 22:58 | #24

    我想问 这款主题有个顶部图片是 i love blog 好想知道那是什么字体啊!有没有人知道

  25. Jay Jun 24th, 2010 @ 21:28 | #25

    貌似只有这篇和PhilNa2主题相关的帖子才可以评论…

    主题风格简洁干净很不错,但是主题自带的ajax评论功能似乎和大部分的lightbox插件有冲突导致失效。

    想问下博主能否检查一下这样的问题。

Submitting Comment, Give me a second...
Comment pages 1 2

Leave a comment

Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackbacks & Pingbacks ( 0 )
  1. No trackbacks yet.