下载鸥 > 网站下载 > 开发教程 > WordPress

Wordpress怎样设置短代码?

298 2020-11-12 18:14:35

收藏

简述

创建“发送到 twitter” 的简码、创建“RSS订阅”简码、定制Google AdSense位置、五、嵌入RSS阅读器、六、使用简码从WordPress数据库中提取文章、七、获取日志中的最新图像、八、在侧边栏微件中添加简码


我知道wordpress有神奇的自定义函数,这个自定义函数基本上可以代替大部分的插件了;

我也知道wordpress有神奇的自定义域,虽然用起来比较麻烦,但是不能不说它真的很强大;

今天我才发现,原来wordpress还有更神奇的短代码(简码)的功能!当然,还是得借助 function.php这个文件来实现。
 

什么是短代码(简码)?就是你在写日志的时候,在编辑器里随便插入几个英文字符,当出现在文章里的时候,它就是千变万化的其他内容了。你说神奇 不?!


一、超链接用[url

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

functionmyUrl($atts,$content=null){extract(shortcode_atts(array("href"=>'http://'),$atts));return'<ahref="'.$href.'">'.$content.'</a>';}add_shortcode("url","myUrl");//把函数转化成简码


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

[urlhref=“http://www.wordpress.com”]WordPressrecipes[/url


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


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


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

function twitt(){return'<div id="twitit"><a href="http://twitter.com/home?status=Currentlyreading'.get_permalink($post->ID).'"title="Click to send this page to Twitter!" target="_blank">ShareonTwitter</a></div>';}add_shortcode('twitter','twitt');

三、创建“RSS订阅”简码然后只要在你文章需要的地方插入[twitter]此简码,“发送到Twitter”链接就会只出现放置简码的位置。

function subscribeRss(){return'<div class="rss-box"><a href="http://feed.happyet.org">Enjoyed this post?SubscribetomyRSSfeeds!</a></div>';}add_shortcode('subscribe','subscribeRss');

四、定制Google AdSense位置同样用[subscribe]就可以显示了,当然加点css修饰一下就更好了。

function showads(){return'<div id="adsense">//google adsense code here</div>';}add_shortcode('adsense','showads');

五、嵌入RSS阅读器使用[adsense]在你需要的位置调用google ad,记得给外包的那个div设置css样式。

//Thisfileisneededtobeabletousethewp_rss()function.include_once(ABSPATH.WPINC.'/rss.php');functionreadRss($atts){extract(shortcode_atts(array("feed"=>'http://',"num"=>'1',),$atts));returnwp_rss($feed,$num);}add_shortcode('rss','readRss');

feed属性(attribute)即是要嵌入的feed URL,num即是要显示的条目数量。使用简码的时候输入:[rss feed=“http://feed.happyet.org” num=“5”]
 

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

functionsc_liste($atts,$content=null){extract(shortcode_atts(array("num"=>'5',"cat"=>''),$atts));global $post;$myposts=get_posts('numberposts='.$num.'&order=DESC&orderby=post_date&category='.$cat);$retour='<ul>';foreach($mypostsas$post):setup_postdata($post);$retour.='<li><ahref="'.get_permalink().'">'.the_title("","",false).'</a></li>';endforeach;$retour.='</ul>';return$retour;}add_shortcode("list","sc_liste");

代码注释:系统提取参数并创建全局变量$posts后,sc_liste()函数使用了 get_posts(),numberposts, order, orderby和category参数以从类别Y中获取X篇最新日志。完成后,系统就会以无序的HTML列表形式显示日志。在WordPress编辑器中使用以下简码:[liste num=“3” cat=“1”],系统将从ID为1的类别中提取3篇文章。
 

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

function sc_postimage($atts,$content=null){extract(shortcode_atts(array("size"=>'thumbnail',"float"=>'none'),$atts));$images=&get_children('post_type=attachment&post_mime_type=image&post_parent='.get_the_id());foreach($imagesas$imageID=>$imagePost)$fullimage=wp_get_attachment_image($imageID,$size,false);$imagedata=wp_get_attachment_image_src($imageID,$size,false);$width=($imagedata[1]+2);$height=($imagedata[2]+2);return'<divclass="postimage"style="width:'.$width.'px;height:'.$height.'px;float:'.$float.';">'.$fullimage.'</div>';}add_shortcode("postimage","sc_postimage");

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

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

add_filter('widget_text','do_shortcode');

好是好,就是wp本就不是以性能见长的程序,function.php文件得爆炸了,如果站点庞大,尽量避免使用哦。

本文地址:https://xzo.com.cn/develop/wp/240.html

有帮助,很赞!

信息来源:精准像素
信息标签
导出教程 下载word版教程
发表评论 共有条评论
关于WordPress


WordPress是世界级的博客程序,有过百万的模板插件支持,其外型大多十分美观,功能十分强大,可作为博客用户的首选。但如果是企业网站建设,则不建议选用WordPress:数据量是个大问题。

推荐WordPress开发教程
WordPress怎样搬家/更换域名?搬家后乱码/跳转/404怎么办?
WordPress怎样搬家/更换域名?搬家后乱码/跳转/404怎么办?

对于建站时间稍长的站长来说,换域名、换服务器、搬家都是必要的操作。如果使...

10 1668
WordPress博客程序可以转为帝国CMS吗?
WordPress博客程序可以转为帝国CMS吗?

WordPress作为顶级博客程序,海量插件一直是为人所津津乐道的。大多数WordPre...

15 1830
Wordpress怎样设置短代码?
Wordpress怎样设置短代码?

我知道wordpress有神奇的自定义函数,这个自定义函数基本上可以代替大部分的...

17 297
WordPress信息时间改为多少时间前发表
WordPress信息时间改为多少时间前发表

相对日期,文章或者评论发表日期以“发表于1小时前”,这种形式显示,相对日期会...

9 336
怎样通过宝塔面板来优化WordPress缓存加速?
怎样通过宝塔面板来优化WordPress缓存加速?

如果你的服务器环境是用的宝塔面板,那么我们就可以通过宝塔面板来优化WordPr...

12 312
wordpress的模板配置方法
wordpress的模板配置方法

wordpress是全世界最流行的博客程序,国内用wordpress建站的站长占比也很高,当...

0 362
wordpress新手:更换域名后访问所有页面都跳转之前的域名
wordpress新手:更换域名后访问所有页面都跳转之前的域名

wordpress数据库里写了很多与域名相关的东西,如果更换了域名,需要对域名进行...

0 356
分享一段WordPress面包屑导航源码
分享一段WordPress面包屑导航源码

WordPress博客程序非常好用,但他的一个缺点是不带面包屑导航。而面包屑导航...

1 341
随机WordPress开发教程
WordPress博客程序可以转为帝国CMS吗?
WordPress博客程序可以转为帝国CMS吗?

WordPress作为顶级博客程序,海量插件一直是为人所津津乐道的。大多数WordPre...

15 1830
WordPress怎样搬家/更换域名?搬家后乱码/跳转/404怎么办?
WordPress怎样搬家/更换域名?搬家后乱码/跳转/404怎么办?

对于建站时间稍长的站长来说,换域名、换服务器、搬家都是必要的操作。如果使...

10 1668
不懂开发,怎样用WordPress建站?
不懂开发,怎样用WordPress建站?

目前市面上的第三方建站程序很多,但使用WordPress建站无疑具备了高效、美观...

17 1199
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入