22,启用paypal 捐赠简码
当你写完一篇以后,可以在文章里面插入paypal 捐赠按钮,方便读者捐赠。以下的代码可以让你非常轻松的做到这一点。
- function donate_shortcode( $atts ) {
- extract(shortcode_atts(array(
- 'text' => 'Make a donation',
- 'account' => 'REPLACE ME',
- 'for' => '',
- ), $atts));
- global$post;
- if (!$for) $for = str_replace(" "," ",$post->post_title);
- return '<a class="donateLink" href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business='.$account.'&item_name=Donation for '.$for.'">'.$text.'</a>';
- }
- add_shortcode('donate', 'donate_shortcode');
23,设定文章从发布到出现在RSS中的时间长短
通过RSS订阅来阅读博文的朋友可能都会有这个体验:经常发现RSS中的文字或者细节有错误,而返回到页面的时候却发现错误已经没有了。这种情况最有可能是因为
RSS最大的好处是快捷、直接,但这个最大的好处有时候对作者来说却会引发某些尴尬。所以,有时候有必要让文章发布后到读者从RSS中按到有一个小小的时间差,方便作者排查某些问题。以下的代码可以做到以下几点:
- function publish_later_on_feed($where) {
- global$wpdb;
- if ( is_feed() ) {
- // timestamp in WP-format
- $now = gmdate(‘Y-m-d H:i:s’);
- // value for wait; + device
- $wait = ‘10′; // integer
- // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
- $device = ‘MINUTE’; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
- // add SQL-sytax to default $where
- $where .= ” AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, ‘$now’) > $wait “;
- }
- return$where;
- }
- add_filter(‘posts_where’, ‘publish_later_on_feed’);
这段代码设置的时间是10分钟,你可以把10改成任何你想要的时间。
24,自定义摘要输出时的符号
一般设定自动摘要输出,你会经常在WordPress博客的首页看到“[...]”这样的符号。为了界面的美观,或者是个性化的需要,你可以把这个默认的符号改变为其他的符号。而以下的代码就是为了实现这个而写:
- // custom excerpt ellipses for 2.9
- function custom_excerpt_more($more) {
- return '…';
- }
- add_filter('excerpt_more', 'custom_excerpt_more');
- /* custom excerpt ellipses for 2.8-
- function custom_excerpt_more($excerpt) {
- return str_replace('[...]', '…', $excerpt);
- }
- add_filter('wp_trim_excerpt', 'custom_excerpt_more');
- */
25,自定义摘要输出的文字长度
假如你比较懒,不想在撰写文章的时候每篇文章都输入摘要,就可以让系统自动截取一定长度的文字来作为摘要输出。下面的代码默认是100个字节,也就是50个汉字。你可以把数值修改成符合你需要的数字。
- function new_excerpt_length($length) {
- return 100;
- }
- add_filter('excerpt_length', 'new_excerpt_length');
26,显示精确评论数
WordPress默认是把trackbacks 和 pings 都算作评论的,因此当你设置不显示trackbacks 和 ping的时候,评论数看起来总是不对头。以下的代码则以让WordPress只计算评论的数量,而不把trackbacks 和 pings也计算进去。
- add_filter('get_comments_number', 'comment_count', 0);
- function comment_count( $count ) {
- if ( ! is_admin() ) {
- global$id;
- $comments_by_type = &separate_comments(get_comments('status=approve&post_id=' . $id));
- returncount($comments_by_type['comment']);
- } else {
- return$count;
- }
- }
27,取消RSS输出
对于某些博客而言,或者因为被太多人采集了,或者因为不想让别人通过RSS订阅,想取消RSS输出。WordPress默认是没有这个功能的,但你可以通过以下的代码来取消RSS输出。
- function fb_disable_feed() {
- wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
- }
- add_action('do_feed', 'fb_disable_feed', 1);
- add_action('do_feed_rdf', 'fb_disable_feed', 1);
- add_action('do_feed_rss', 'fb_disable_feed', 1);
- add_action('do_feed_rss2', 'fb_disable_feed', 1);
- add_action('do_feed_atom', 'fb_disable_feed', 1);
28,显示Twitter 的订阅数以及其他资料
Twitter系统以及很多第三方的客户端都可以让你在WordPress博客的侧边栏暂时Twitter的订阅数以及一些其他的资料。这种做法往往很多时候都没办法跟博客已有的界面结合的很好。而以下的代码则可以让你自定义Twitter 在博客上的显示外观。
- function rarst_twitter_user( $username, $field, $display = false ) {
- $interval = 3600;
- $cache = get_option('rarst_twitter_user');
- $url = 'http://api.twitter.com/1/users/show.json?screen_name='.urlencode($username);
- if ( false == $cache )
- $cache = array();
- // if first time request add placeholder and force update
- if ( !isset( $cache[$username][$field] ) ) {
- $cache[$username][$field] = NULL;
- $cache[$username]['lastcheck'] = 0;
- }
- // if outdated
- if( $cache[$username]['lastcheck'] < (time()-$interval) ) {
- // holds decoded JSON data in memory
- static$memorycache;
- if ( isset($memorycache[$username]) ) {
- $data = $memorycache[$username];
- }
- else {
- $result = wp_remote_retrieve_body(wp_remote_request($url));
- $data = json_decode( $result );
- if ( is_object($data) )
- $memorycache[$username] = $data;
- }
- if ( is_object($data) ) {
- // update all fields, known to be requested
- foreach ($cache[$username] as$key => $value)
- if( isset($data->$key) )
- $cache[$username][$key] = $data->$key;
- $cache[$username]['lastcheck'] = time();
- }
- else {
- $cache[$username]['lastcheck'] = time()+60;
- }
- update_option( 'rarst_twitter_user', $cache );
- }
- if ( false != $display )
- echo$cache[$username][$field];
- return$cache[$username][$field];
- }
把上面的代码复制到 functions.php后,再把下面代码复制到你想出现的地方即可。
Then place the following code where you want to display the count in your theme file:
- echo rarst_twitter_user('wpbeginner', 'name').' has '.
- rarst_twitter_user('wpbeginner', 'followers_count').' followers after '.
- rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';
原文地址:25+ Extremely Useful Tricks for the WordPress Functions File
继续阅读后续内容
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
北京市 1F
学习学习
江苏省苏州市吴中区 2F
知更鸟你怎么可以那么厉害呀
上海市 3F
我又来鸟哥家学习,嘿嘿。。。。
然后使劲折腾本妖女的Blog,哈哈哈
辽宁省大连市 4F
太好了,有wp的简易教程了。得多跟你学习学习。
山西省临汾市 5F
这个已经有人翻译完了
湖南省湘潭市 6F
不错不错
浙江省温州市 7F
还是菜鸟级别,来学习了
江西省宜春市宜丰县 8F
博主是wp的庄家啊
四川省遂宁市 9F
有些代码按你说的改,但是出错。
辽宁省沈阳市 B1
@ 小子 通告下本技术文章来至国外,国人翻译的,仅供出参考
江苏省宿迁市 10F
不知道博主的代码高亮是什么插件呀?
江西省宜春市宜丰县 11F
博主好!
【黑苹果博客】http://www.zhangchenghui.com/
望与贵博友链,不知可否?
若行,请在做好我站链接后给我留言,我将第一时间给您做上,ok?
黑苹果
广东省佛山市 12F
这些知识很实用。博主还是挺厉害的。
四川省德阳市 13F
有些功能不错
浙江省杭州市 14F
添加一个 Favicon 图标不错
湖南省常德市桃源县 15F
这个挺好的。。
广东省广州市 16F
很实用,自己改主题的时候可以实践一下,谢谢
PS,博主的主题很漂亮。
广东省广州市 17F
谢谢分享
广东省广州市 18F
这个主题真的挺好
云南省文山州 19F
老大,你的评论底部电提交留言的时候,不会刷新页面,而是出现
云南省文山州 20F
正在提交,请稍候字样,还带特效,是怎么弄的
中国 B1
@ 阿鼎 可以重新下载2.21版,已添加此功能
云南省普洱市 21F
这些功能都写成了FUNCTIONG的形式,那也就是说,直接在主题的后台调用就可了吧
江苏省宿迁市 22F
感觉第二点是直接可以用的吧。
中国 B1
@ 老张博客 是的,有点多此一举
代码高亮不是插件,可以参考这篇:
http://zmingcx.com/do-not-realize-wordpress-code-highlight-plugin.html
四川省绵阳市 23F
弱弱地问一句,如何实现本页面类似的自动分页啊?
中国 B1
@ 挚秭之手 日志无法实现自动分页,只能手动加入代码分页
浙江省杭州市 B2
@ 知更鸟 正在提交,请稍后。。。
如何制做的- -! 贴个代码
中国 B3
@ sinsky GG搜索comments-ajax
湖北省荆州市 24F
厉害,拜师了
陕西省西安市 25F
嗯。很不错。学习了。
四川省成都市 26F
其实真正的高手是能够把自己的知识讲给别人,并且使其易懂,我大概就是自己懂点,但讲给别人,使其听懂很难~~
中国 B1
@ 煎豆 真正的高手,根本不屑于搞这些东西,都挣RMB去了,呵呵
四川省成都市 27F
刚才回复的时候,出现警告!!你看看代码是不是有问题!!Warning: copy() [function.copy]: Unable to access http://www.gravatar.com/avatar/70
中国 B1
@ 煎豆 已修正,谢谢提醒
河北省唐山市 28F
太经典了啊,学习了!
浙江省杭州市 29F
这篇文章不错!我还一般直接去该主题PHP文件了!弯路了。
浙江省宁波市 30F
再来踩踩
广东省广州市 31F
很不错,可是我笨到连改代码都不会。
安徽省合肥市 B1
@ zerone0211 慢慢研究,我也是新手
江西省南昌市 32F
都很实用,尤其喜欢其中几条。。
天津市 33F
3,不用改代码的吧,直接放在根目录就可以。
上海市浦东新区 34F
很好.谢谢!
河北省秦皇岛市 35F
代码总结的不错,不过建议把作者链接放到相应的代码处,这也是对作者的一种尊重,也是对自己的尊重。
上海市浦东新区 36F
讲的太好了,学习中……
上海市 37F
高手
广东省深圳市 38F
很有用,学习了。。
江苏省苏州市 39F
8错,如果早点看到的话,就更有帮助了。不过,总算是了解到了相关的知识!
北京市 40F
挺全面的,不错,是原创的?
江苏省苏州市 41F
太全了 太实用了
北京市大兴区 42F
能省则省啊,不过有些功能还是比较有用的。不过这篇还是不太全,再来一篇续的吧!
河南省郑州市 43F
不错 大牛
内蒙古呼和浩特市 44F
3.4.1 的控制台有一个welcome 这个怎么移除呢?
求指点。
还有顶部菜单最左面有一个about的菜单。
是wordpress 官网文档之类,那个菜单。该怎么移除呢?
希望得到你的帮助。
网上找了资料,没有我想要的额
中国 B1
@ 杨峰 打开右上角“显示选项”中去掉
内蒙古呼和浩特市 B2
@ 知更鸟 我的意思是我想连右上角选项里面的那个也一块移除。
看来你是没有没看懂我说什么。那就算了。
内蒙古呼和浩特市 45F
还有。你的网站很不错
北京市 46F
鸟兄弟,请问:留言这里的“有人回复时邮件通知我”修改成“mail我”怎么办呢?请教了
中国 B1
@ 菜鸟 修改HotNewsproincludesfunctions目录的notify文件,后数第四行
广西桂林市雁山区 B2
@ 知更鸟 咱也学习下了。
广西桂林市雁山区 47F
这个functions. php文件确实非常之强大,可以在里面实现很多我们想要的功能,并且不用改变程序或是主题的任何文件,这点更是做的出类拔萃!我就在里面添加了不少东西,用来实现与增加自己博客的一些功能,这让博客比起最初的时候变得精美与符合自己的心意多了!
天津市 48F
邮件评论自动回复不能用,会出现“致命错误:不能重新定义comment_mail_notify(….”版本4.8,不知道什么问题
来自外部的引用