WordPress 短代码(简码)收藏

林继 WordPress 2,740 共写了1809个字 (2010-08-26 13:02:06) 没有评论 打印 扫描二维码 百度未收录

一、超链接用[url]

1. 打开主题中的 functions.php 文件。粘贴以下函数到其中:

  1. function myUrl($atts, $content = null) {
  2. extract(shortcode_atts(array(
  3. "href" => 'http://'
  4. ), $atts));
  5. return '<a href="'.$href.'">'.$content.'</a>';
  6. }
  7. add_shortcode("url", "myUrl");//把函数转化成简码

2. 简码创建成功,现在就可在日志和页面上使用了。

  1. [url href="http://www.wordpress.com"]WordPress recipes[/url]

日志保存后,简码会显示名为“WordPress recipes”的链接,并指向http://www.wordpress.com。

代码注释:若要正常运行,简码必须处理两个参数:$atts 和 $content。$atts是简码属性,上例中,属性为href,且包括了URL链接。$content是简码内容,位于域名和子目录之间(即 http://www.example.com和“/subdirectory”之间)。正如以上显示,我们给$atts 和 $content都设置了默认值。

二、创建“发送到 twitter” 的简码

  1. function twitt() {
  2. return '<div id="twitit">ID).'" title="Click to send this page to Twitter!" target="_blank">Share on Twitter</div>';
  3. }
  4. add_shortcode('twitter', 'twitt');
  5.  
  6. 然后只要在你文章需要的地方插入 [twitter] 此简码,“发送到Twitter”链接就会只出现放置简码的位置。

三、创建“RSS订阅”简码

  1. function subscribeRss() {
  2. return '<div class="rss-box">Enjoyed this post? Subscribe to my RSS feeds!</a></div>';
  3. }
  4. add_shortcode('subscribe', 'subscribeRss');
  5.  
  6. 同样用 [subscribe] 就可以显示了,当然加点css修饰一下就更好了。

四、定制 Google AdSense 位置

  1. function showads() {
  2. return '<div id="adsense">//google adsense code here</div>';
  3. }
  4. add_shortcode('adsense', 'showads');
  5.  
  6. 使用 [adsense] 在你需要的位置调用 google ad,记得给外包的那个div设置css样式。

五、嵌入 RSS 阅读器

  1. //This file is needed to be able to use the wp_rss() function.
  2. include_once(ABSPATH.WPINC.'/rss.php');
  3. function readRss($atts) {
  4. extract(shortcode_atts(array(
  5. "feed" => 'http://',
  6. "num" => '1',
  7. ), $atts));
  8. return wp_rss($feed, $num);
  9. }
  10. add_shortcode('rss', 'readRss');
  11.  
  12. 使用简码的时候输入:[rss feed="http://feed.happyet.org" num="5"]

feed 属性(attribute)即是要嵌入的 feed URL,num 即是要显示的条目数量。

六、使用简码从 WordPress 数据库中提取文章

  1. function sc_liste($atts, $content = null) {
  2. extract(shortcode_atts(array(
  3. "num" => '5',
  4. "cat" => ''), $atts));
  5. global $post;
  6. $myposts = get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category='.$cat);
  7. $retour='<ul>';
  8. foreach($myposts as $post) :
  9. setup_postdata($post);
  10. $retour.='<li><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>';
  11. endforeach;
  12. $retour.='</ul>';
  13. return $retour;
  14. }
  15. add_shortcode("list", "sc_liste");
  16.  
  17. 在 WordPress 编辑器中使用以下简码:[liste num="3" cat="1"],系统将从ID为1的类别中提取3篇文章。

代码注释:系统提取参数并创建全局变量$posts后,sc_liste()函数使用了 get_posts(),numberposts, order, orderby和 category 参数以从类别Y中获取X篇最新日志。完成后,系统就会以无序的HTML列表形式显示日志。

七、获取日志中的最新图像

  1. function sc_postimage($atts, $content = null) {
  2. extract(shortcode_atts(array(
  3. "size" => 'thumbnail',
  4. "float" => 'none'
  5. ), $atts));
  6. $images =& get_children( 'post_type=attachment&post_mime_type=image&post_parent=' . get_the_id() );
  7. foreach( $images as $imageID => $imagePost )
  8. $fullimage = wp_get_attachment_image($imageID, $size, false);
  9. $imagedata = wp_get_attachment_image_src($imageID, $size, false);
  10. $width = ($imagedata[1]+2);
  11. $height = ($imagedata[2]+2);
  12. return '
  13. <div class="postimage" style="width: '.$width.'px; height: '.$height.'px; float: '.$float.';">'.$fullimage.'</div>
  14. ';
  15. }
  16. add_shortcode("postimage", "sc_postimage");
  17.  
  18. 使用代码:[postimage size="" float="left"]

代码注释:sc_postimage()函数首先提取了简码属性,然后它使用get_children(), wp_get_attachment_image() 和wp_get_attachment_image_src()这些WordPress函数检索图像。完成后,系统就会返回图像并插入到文章内容中。

八、在侧边栏微件中添加简码

  1. add_filter('widget_text', 'do_shortcode');

九、MP3播放器

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

  1. function mp3player($atts, $content=null){
  2. extract(shortcode_atts(array("auto"=>'0'),$atts));
  3. return '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="30" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="'.get_bloginfo(" /><param name="wmode" value="transparent" /><embed type="application/x-shockwave-flash" width="400" height="30" src="'.get_bloginfo(" wmode="transparent"> </embed></object>';
  4. }
  5. add_shortcode('mp3','mp3player');

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

  1. [mp3]MP3文件URL[/mp3]

自动播放代码格式:

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

3.演示:

  1. [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居中显示

  1. function docsGoogle($atts, $content=null){
  2. 	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>';
  3. }
  4. add_shortcode('docs','docsGoogle');

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

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

3.效果演示:

  1. [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居中显示

  1. function swf_player($atts, $content=null){
  2. return '<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="360" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="'.$content.'" /><embed type="application/x-shockwave-flash" width="480" height="360" src="'.$content.'"></embed></object>';
  3. }
  4. add_shortcode('swf','swf_player');

2.使用格式及效果:

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

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

把以上代码放在 functions.php 里就行,以[短代码]的形式调用即可。

本文转自:WordPress 短代码(简码)收藏

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

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

< >