17 341 2020-11-12 18:14:35
收藏
我知道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
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
WordPress是世界级的博客程序,有过百万的模板插件支持,其外型大多十分美观,功能十分强大,可作为博客用户的首选。但如果是企业网站建设,则不建议选用WordPress:数据量是个大问题。
目前市面上的第三方建站程序很多,但使用WordPress建站无疑具备了高效、美观...
对于建站时间稍长的站长来说,换域名、换服务器、搬家都是必要的操作。如果使...
WordPress作为顶级博客程序,海量插件一直是为人所津津乐道的。大多数WordPre...
我知道wordpress有神奇的自定义函数,这个自定义函数基本上可以代替大部分的...
相对日期,文章或者评论发表日期以“发表于1小时前”,这种形式显示,相对日期会...
如果你的服务器环境是用的宝塔面板,那么我们就可以通过宝塔面板来优化WordPr...
wordpress是全世界最流行的博客程序,国内用wordpress建站的站长占比也很高,当...
WordPress博客程序非常好用,但他的一个缺点是不带面包屑导航。而面包屑导航...
用户体验是我们的需求,百度蜘蛛的认可更是我们的需求。毕竟,没有收录排名,何来...
通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...
百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...
本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...
帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...
一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...
帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...
帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...