WordPress 微博插件:WP Microblogs

2 月 11 日, Ray Chow 发表于 小作品, 258 回应

2. 使用自定义样式表与 JS 脚本

WP Microblogs 样式表位于 /wp-microblogs/style.css 文件。尽管可以直接修改此文件,我依然建议您使用下面这个方法,即使插件升级,您的修改也不会丢失。

建议您将经过修改的 WP Microblogs 样式表放置在主题目录下,使用这段代码让 WordPress 放弃插件自带样式表而加载新的样式表。这段代码应该放在主题的 functions.php 中。

function customize_wm_style() {
    wp_deregister_style('wm');
    wp_register_style('wm', '/path/wp-microblogs.css');
}

add_action('wm_register_ss', 'customize_wm_style');

请注意将例子中的路径用实际路径替换。

WP Microblogs 会在加载小工具时自动加载一个 JS 脚本实现上下滚动的效果。如果您修改或者完全重写了这个脚本,也建议您将经过修改的脚本放在主题目录下,类似的,使用下面这段代码加载自定义的脚本。

function customize_wm_script() {
    wp_deregister_script('wm-widget');
    wp_register_script('wm-widget', '/path/wp-microblogs.js');
}

add_action('wm_register_ss', 'customize_wm_script');

如果您在自定义的 JS 脚本中调用了 jQuery,需要保证 jQuery 库在 JS 脚本之前加载。

如果您的主题使用 WordPress 官方建议的方式加载 jQuery 库(即使用了 wp_enqueue_script 函数),或者没有加载,可以使用下面的代码满足 jQuery 库优先加载的关系:

function customize_wm_script() {
    wp_deregister_script('wm-widget');
    wp_register_script('wm-widget', '/path/wp-microblogs.js', array('jquery'));
}

add_action('wm_register_ss', 'customize_wm_script');

如果主题不是以官方建议的方式加载了 jQuery 库,不要使用上述方法,否则可能因重复加载 jQuery 库导致冲突。

3. 深入定制小工具

除了使用小工具面板提供的选项自定义之外,还可以使用过滤器(filter)深入定制小工具。

filter 名称:

wm_widget_args

filter 用途:

小工具使用 wm_get_tweets() 函数输出时间线,此过滤器可修改函数使用的参数。

filter 回调参数:
str
原始参数
mid
微博编号
count
显示的微博条数
relative
是否显示相对时间
使用示例
function customize_wm_widget($str, $mid, $count, $relative) {
    return "mid=$mid&count=$count&relative=$relative&tweet_format=[text][pic][rt]<div class=\"meta\"><a href=\"[tweet_url]\" rel=\"external nofollow\">[time]</a> 来自 <a href=\"[user_url]\" rel=\"external nofollow\"><img src=\"[user_head]\" /></a></div>";
}

add_filter('wm_widget_args', 'customize_wm_widget', 10, 4);

这段代码应该放在主题的 functions.php 中。执行这个例子后,输出的来源部分将变为您的头像。

无觅相关文章插件,快速提升流量

固定链接: http://beamnote.com/2011/wp-microblogs.html

订阅本文 RSS 以获取最新动向。

发表评论或者发送 Trackback

258 回应

  1. 网赚之家

    :razz: 怎样获得OAuth 密匙?

  2. 我的wordpress博客是3.3.1,激活插件,到插件设置界面添加微博时出错,使用”按这里进行测试”(http://www.jsxubar.info/wp-content/plugins/wp-microblogs/test.php)提示以下错误:

    Fatal error: Cannot redeclare wm_init() (previously declared in /home/jsxubari/public_html/wp-content/plugins/wp-microblogs/functions.php:4) in /home/jsxubari/public_html/wp-content/plugins/wp-microblogs/functions.php on line 41

  3. 80年代

    你好,不知道为什么,微博显示的时间不正确,例如我网上十一点发的微博,结果显示下午16点发的,怎样设置啊?

  4. [...] 二是通过函数wm_tweet() 输出微博,可以用参数控制,爱折腾的人必选…(具体参数列表可以到原作者博客看:http://beamnote.com/2011/wp-microblogs.html/2) [...]

  5. Ben

    那我可以通过参数把时间减去8小时吗

  6. Ben

    时间显示有问题啊…

发表评论

必填区域以 * 标出

*
*