给WordPress主题添加短代码功能

貌似这功能早在WP2.5已经支持,详细的描述请看:http://codex.wordpress.org/Shortcode_API

此文不解释原理(因为俺也说不清),就直接说具体的应用:

一、MP3播放器

1.添加:把以下代码复制至functions.php(注意在php循环内),然后下载mp3player.swf并放至主题根目录,MP3默认不自动播放

 
function mp3player($atts, $content=null){
 
	extract(shortcode_atts(array("auto"=>'0'),$atts));	
 
	return '<embed src="'.get_bloginfo("template_url").'/mp3player.swf?url='.$content.'&amp;autoplay='.$auto.'" type="application/x-shockwave-flash" wmode="transparent" allowscriptaccess="always" width="400" height="30">';
 
}
 
add_shortcode('mp3','mp3player');

2.使用:撰写文章时在“HTML模式”下插入以下格式代码即可

 
[mp3]MP3文件URL[/mp3]

自动播放代码格式:

 
[mp3 auto="1"]MP3文件URL[/mp3]

3.演示:

 
[mp3]http://storage.live.com/items/6E6B92BD0BA88634!163?filename=L.O.V.E.mp3[/mp3]

[mp3]http://storage.live.com/items/6E6B92BD0BA88634!163?filename=L.O.V.E.mp3[/mp3]

二、Google文档预览

1.添加代码:默认宽600高300居中显示

 
function docsGoogle($atts, $content=null){
 
	return '<p style="text-align: center;"><iframe style="border-style: none;" src="http://docs.google.com/viewer?url='.$content.'&embedded=true" width="600" height="300"></iframe></p>';
 
}
 
add_shortcode('docs','docsGoogle');

2.使用格式:目前Google文档查看器只“支持 PDF 文档、PowerPoint 演示文稿和 TIFF 文件”

 
[docs]Docs(.pdf、.ppt、.tiff)文件URL[/docs]

3.效果演示:

 
[docs]http://storage.live.com/items/6E6B92BD0BA88634!158?filename=how-to-build-your-own-web-site.pdf[/docs]

[docs]http://storage.live.com/items/6E6B92BD0BA88634!158?filename=how-to-build-your-own-web-site.pdf[/docs]

三、Flash快捷插入

1.添加代码:默认宽480高360居中显示

 
function swf_player($atts, $content=null){
 
	return '<p style="text-align: center;"><embed type="application/x-shockwave-flash" width="480" height="360" src="'.$content.'"></embed></p>';
 
}
 
add_shortcode('swf','swf_player');

2.使用格式及效果:

 
[swf]http://immmmm.com/download/chatnoir.swf[/swf]

[swf]http://immmmm.com/download/chatnoir.swf[/swf]

四、待添加……

主机格调
  1. 来看看 放在博客还不错哦

    • 插入一些东西会方便很多~

      • 是这个道理哦 向你学习啊 小弟很多不懂哦

  2. 万戈
    一月 31, 2010 19:58:19 #3

    不错,可以尝试一下~,插入任何格式都可以这样吗?

    • 应该可以,比如插入flash~~

  3. 我就不玩了。问下木木:你的主题有没有同意某些人去掉主题作者链接?发现了一个,呵呵

    • 无所谓了,我自己知道好几个……

      • LaoSun
        二月 1, 2010 14:43:14

        我修改的已经发布了,主页链接还是木木的,不就一套主题吗,又不是自己做的,只是修改增强而已,CSS部分也保留了原作者的链接

        • 多谢,既然有这个实力,还是希望你能折腾个全新主题出来!

          • LaoSun
            二月 1, 2010 18:44:18

            就是喜欢折腾,总是看别人的好,呵呵,自己有主题的,正在优化中……

            • 额,跟你说说我为什么不自己整理所有功能和效果发布出来呢,我相信你经过这么折腾,肯定有所收获吧?我就是希望让想折腾的朋友们有那么一个个还算比较容易的具体实例来折腾,另一方面也希望折腾不来的同学回归写博本身好好码字。

  4. Terry
    一月 31, 2010 20:53:20 #5

    这些是好东西啊~~~简单实用,也免去了插件~~~~ :arrow: :arrow:

      • LaoSun
        二月 1, 2010 19:03:19

        上面不能回复了,你说的很有道理,也是你的聪明之处,我不会很在意我的博客有多少人访问,生意闲时就是喜欢折腾,收获都是双方面的,向您学习了

  5. Jutoy
    二月 1, 2010 01:02:1 #6

    播放器那个不错哇,嘿嘿 :roll:

    • 播放器的那个SWF是豆瓣那扒来的,嘻嘻~

  6. Youwei
    二月 1, 2010 04:18:4 #7

    收藏了,不错不错

  7. happyet
    二月 1, 2010 08:33:8 #8

    这个好东西,也看出了pw真的好强大!

    • wp的自定义功能绝对超强!!!

  8. QiQiBoY
    二月 1, 2010 12:32:12 #9

    这个不错,受教了。。。

    • 嘻嘻,还算一个简单也实用的功能吧~

  9. 嘿嘿…看看这样会怎么样…

    • 这个算不算是bug啊…名字可以同名…都不限制管理员的名字…要不得哦

      • 果然 杯具了…今天发现ajax评论会出现这个问题….

        木木想办法改改吧…上面的消息都是我模仿的…

        只要名字,邮箱,网站一样…那么看起来和木木的回复没区别啦

        • 这想到测试您还是头一个,可以解决,也有现成的代码,只是个人觉得没啥大必要啦~

          • 我都是看到上面的提示信息才想到的…

            主要是被模仿回复有点不爽啦…后台看到也是…

            • 那也是,不过我经常在的啦,谁真玩这招,封IP呀~

    • 哈哈…那我不敢玩了….免得被ban了…
      :grin:

  10. popo
    二月 1, 2010 16:16:16 #11

    前来学习。试试看

  11. Dianso
    二月 1, 2010 17:40:17 #12

    Google文档预览,这个我喜欢,试试去。

    • 不过告诉你哦,IE下显示不出来预览内容的……

  12. evlos
    二月 1, 2010 22:39:22 #13

    啊,原来WP还有那么多帅气的函数小邪不知道 add_shortcode,看来真的得挤点时间看看官方手册 ~

    • 我是看到别人主题中有这个功能,载下来研究了下,就给提取出来了~~哈哈

  13. Leo.N
    二月 2, 2010 01:25:1 #14

    实用实用。。。待我哪天折腾博客的精神回来了也拿去用用。。。。

    • 基本的还是原来HTML代码,这个就是“短”了!

  14. Firm
    二月 2, 2010 20:56:20 #16

    很好很强大,比插件好多了

  15. edikud
    二月 4, 2010 10:15:10 #18

    我是用JS的播放器,直截写有MP3的地址就可以唱了的! :cool:

  16. edikud
    二月 4, 2010 10:21:10 #19

    你这个是用PHP查找,然后加上embed…

    • 恩,功能的实现还是靠原来完整的HTML代码,这个只是方便了插入使用~

  17. hzlzh
    二月 4, 2010 12:34:12 #20

    老万沙发抢的太快了~~佩服佩服

  18. willin
    二月 5, 2010 22:28:22 #22

    WP 有個插件叫 “shortcode” 集合一些文章和評論統計的短代碼, 我還以為是那個…

    • 呵呵,我们还是自定义,只加需要的~

  19. 星火
    二月 7, 2010 15:12:15 #23

    这首歌我喜欢!

    • 是胡歌版神话刚穿越了要被斩头时就他性命的神奇铃声~西西

  20. onoono
    二月 12, 2010 08:11:8 #24

    用google doc固然好,但好像必须先登录才能看得情况啊,不知道怎么解决

    • 不会吧?呵呵,这杯具了……

  21. 这个很实用,一直想找个MP3插件,但是都不太好

    • 用这种方法很是方便的呢!

  22. 皓辰
    二月 19, 2010 14:05:14 #26

    很好很强大!皓辰顶一个 :idea: :idea:

  23. HF
    二月 19, 2010 15:50:15 #27

    inove主题里,MP3播放器代码放到哪了.我菜鸟.

    • 没听明白你说的意思……

  24. deja.vu
    二月 22, 2010 11:14:11 #28

    这个添加mp3代码很方便~

  25. dongyang
    三月 4, 2010 09:09:9 #29

    哎!不懂!打酱油!

  26. 志言
    三月 4, 2010 09:30:9 #30

    mp3代码很好,这样就不用另外用插件了

  27. 强大,在阅读器里能看到播放器吗

    • 我在GR里看到的是GR默认的音乐播放器,其他的就不清楚咯~

  28. 万戈
    三月 4, 2010 13:03:13 #32

    我的GR中怎么冒出来这篇N久以前的文章?

    • 我也奇怪呢,我订阅的其中几个博客也更新出了很早前就发布的文章……

  29. hzlzh
    三月 4, 2010 19:37:19 #33

    怎么在GR里发现了这文章,首页却没有!!汗

    • GR抽了,我也收到好几个站点以前发布的文章

  30. evlos
    三月 5, 2010 04:36:4 #34

    经典,嘿嘿嘿 ~ :grin: ,虽然暂时还用不到,不过先放到收藏夹里备用 ~ :mrgreen:

    • 嗯嗯,这个比装插件好!当然,没用到就先备份下吧~

  31. iBoluo
    三月 5, 2010 15:09:15 #35

    -_-;完全看不懂的人飘过

    • 呵呵,还是感谢留言支持~

  32. popo
    三月 6, 2010 12:27:12 #36

    :!: 你的博客太强了

    • 都是写小玩意儿啦,一般一般~

  33. 哇靠~~ :grin: 这个灰常弓虽大啊

    • 那是,几段代码能搞定的事就坚决不用插件!

  34. Jutoy
    三月 10, 2010 13:10:13 #38

    嗯,这个一直在用~~

    • 嗯,收下了,可以尝试向WP官方插件站提交哦~~

  35. joyla
    六月 1, 2010 15:09:15 #40

    我使用了第一个MP3的!呵呵

    • 短代码功能可不只这些哦~~

  36. joyla
    六月 1, 2010 19:11:19 #41

    后面的那些功能要嘛用不着,要嘛就是编辑器自带了!

  37. heson
    六月 24, 2010 18:07:18 #42

    顶一下!!貌似很好用啊 :oops:

  38. soping
    六月 26, 2010 08:47:8 #43

    :shock: 什马叫PHP循环,木木……我不知道要把代码“插”在哪里,请教…… :oops:

    • 用php包裹起来的,整个就是循环~

  39. 六月 28, 2010 14:59:14 #44

    非常感谢你这个mp3功能,急用啊 :mrgreen:

    • 记得别把MP3放自己空间里哦!

  40. 阿七
    八月 13, 2010 04:05:4 #45

    我又來了呃 哈哈

  41. 学习了..刚在百度找到这篇文章,很有用

  42. 这个好,可以像DZ那样发音乐了

  43. Fanr
    八月 29, 2010 11:03:11 #48

    :mrgreen: 那个小猫游戏蛮好玩的~

      • Fanr
        八月 29, 2010 22:30:22

        :mrgreen: 已经歼灭这只小猫咪了~~~哇卡卡~

  44. Jeff
    八月 30, 2010 21:16:21 #49

    这篇文章是没有评论吗?那么我来坐个沙发。囧。

  45. chung
    九月 3, 2010 01:38:1 #50

    加了mp3播放器

  46. vanbiny
    九月 16, 2010 23:04:23 #52

    我想问下博主,我加了这个段代码在functions.php 里面后,出错了,很想用这个方法来加快发文章的速度,我以前都是要用代码来贴的,就是那播放器代码,比较麻烦,每次都是搞来搞去,你这个方法真的很好。但现在错误后,我推出wordpress,再登录的时候,登录都进不去了。只有改回原先的状态,才能正常,不知道博主知道不知道怎么解决这个问题呢 Warning: Cannot modify header information – headers already sent by (output started at /home/stores/public_html/guitar/wp-content/themes/imagine/functions.php:303) in /home/stores/public_html/guitar/wp-includes/pluggable.php on line 665

    就是在编辑文章的时候,这样提示。 但我没有管这个直接发文章后,在前台,又能显示播放器的。我在functions.php 最后免加了以下代码:

    ’0′),$atts));
    return ”;
    }
    add_shortcode(‘mp3′,’mp3player’); ?>

  47. vanbiny
    九月 16, 2010 23:04:23 #53

    就是在编辑文章的时候,这样提示。 但我没有管这个直接发文章后,在前台,又能显示播放器的。我在functions.php 最后免加了以下代码:

    ’0′),$atts));
    return ”;
    }
    add_shortcode(‘mp3′,’mp3player’); ?>

  48. vanbiny
    九月 16, 2010 23:05:23 #54

    我郁闷,这个代码怎么发不出的啊

  49. marjin
    十月 14, 2010 11:29:11 #55

    很不错,学习了,(^o^)/~

  50. wmtimes
    十一月 10, 2010 14:35:14 #56

    不错的文章,学习了。

  51. 不错不错,正好需要添加个MP3

  52. 博主,你好啊…请教下 第一个加mp3 如何能直接在footer /header等页面添加显示呢

  53. MOPVHS
    一月 15, 2011 23:27:23 #60

    那猫好玩~~~

  54. zrqx008
    三月 23, 2011 22:50:22 #61

    那个mp3代码是不是可以自己选择播放器?

  55. emric
    四月 18, 2012 20:22:20 #62

    评论不支持?

  56. 这个mp3播放器中,添加代码到”function.php”中,怎么样添加才算是一个添加到循环中啊?比如有什么标记等?

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">