首页> wordpress资源

wordpress资源 存档

no-self-ping多站点版(半原创)

2011年08月03日 分类目录 :wordpress资源 3

wordpress有一个功能是当有网站引用博客上的日志时,会有一个TrackBack Ping返回来,但是默认它并不会判断是否是自己博客引用旧有日志。在这种情况下,即使是自己引用自己的日志也会返回一条记录,虽然没多大影响,但是这个看起来就让人不爽。于是就有了相关插件来屏蔽这种情况。当然,它就是no-self-ping了。

时间回到1天前,由于前几天写的日志均有引用过去的日志,因此在评论中都返回了一条条ping记录,这让我感到疑惑,我早已启用了这个no-self-ping插件,为什么还会返回记录呢?一番思索,我的目光集中到了自定义域名身上。由于自定义域名并非是真正绑定博客,而只是一种类似于重定向的方式,因此,对于wordpress的一些function来说,它所认识的仍然只是原来的域名。例如:我的博客原地址是http://wangqige.juziyue.com,绑定的自定义域名则是http://wangqige.com,但是无论是getOption(“home”)还是其他和url相关的方法,它们所识别到的都只是前者。

当有了这个想法之后,我就去查看了一下no-self-ping的源代码:

function no_self_ping( &$links ) {
    $home = get_option( 'home' );
    foreach ( $links as $l => $link )
        if ( 0 === strpos( $link, $home ) )
            unset($links[$l]);
}
add_action( 'pre_ping', 'no_self_ping' );

果然和我猜想的一样(当然,也多亏了甲洲的帮助),当确定这点之后,就开始寻找解决方案了。由于想到实现自定义域名是使用了插件的结果,因此,极有可能自定义域名相关内容储存在了数据库中。但是,由于我并没有菊子曰空间的数据库的访问权限,因此就尝试性通过其他渠道来确认这个猜测。起先想直接看插件的源代码,可是空间使用的相关插件是收费版的,网上下不到。不过幸运的是,下载到了一个相同功能的免费版插件,经过对它800多行代码的仔细查看(虽然看不大懂),果然,里面有和数据库打交道的部分。于是,再通过甲洲一个确定,确实是存储在数据库中了,而且有专门的一张表,知道了这点之后就开始想具体实现方法了。

至于这过程不多做说明,总之是花了我4、5个小时(没学过PHP、对wordpress开发一窍不通的我啊),费劲千辛万苦,冒着搞瘫空间的风险,经过十几次的调试,总算是最后做出来了。而且经过多种情况的测试,也确实起到作用了。(测试的情况有:插件启用状态下未绑定自定义域名的博客发引用自已日志的日志、绑定自定义域名的博客发同时引用自己日志以及空间内其他博客日志的日志)。这才放下心来,这可是我第一个能够正常使用的插件(当然并非完全原创,只是在前人基础上进行修改)。

 function no_self_ping( &$links ) {
        global $wpdb;

        $home = get_option( 'home' );
        $blogid = get_blog_id_from_url($home,$path='/');
        if(is_muiltsite() && null != ($wpdb -> get_row($wpdb->prepare("SELECT * FROM {$wpdb->wp_domain_mapping} WHERE blog_id = $blogid)")))){
                $home = $wpdb -> get_result("SELECT domain FROM {$wpdb->wp_domain_mapping} WHERE blog_id = $blogid");
        }

        /*如果你的空间使用的是wordpress-mu-domain-mapping这个插件来实现自定义域名的话,则将上面if语句中的wp_domain_mapping改为dmtable即可*/
        foreach ( $links as $l => $link )
                if ( 0 === strpos( $link, $home ) )
                        unset($links[$l]);
}

add_action( 'pre_ping', 'no_self_ping' );

由于我是业余爱好者,所以写的代码可能比较烂,别介意。这里其实有个疑惑,if语句判断中的is_muiltsite()是否可以去掉,毕竟这张表也就只有多站点模式下才可能会存在的。唉~不纠结了,考虑的周全点总归是好的。而且从理论上来说,当用&&时,第一个条件不满足的话就不用再去考虑第二个和数据库打交道的条件了,也许能提高点效率吧(真的么?)。

下载地址:http://www.everbox.com/f/RbcbJElZEmkuOtMkmhvvvxdC8o

, ,

在wordpress站点中捕获并显示评论者的浏览器和操作系统信息

2011年05月05日 分类目录 :wordpress资源 1

WP-UserAgent是一个可以让你方便地在评论栏中插入图标和文本以甄别每一个评论者的浏览器和操作系统信息的小巧的检测插件。我确信你会惊讶于这个插件的全部潜力。它可以甄别出你之前可能从未听说过的浏览器和操作系统,包括运行在移动设备上的。当然,这个插件最实在的是它可以节约你建立用户数据库的时间。

下面请阅览一个运行中的WP-UserAgent效果图:

如果你是一个主管维护和调整网页的网页开发者或网站管理员,或者你正维护一个博客、电子商务站点、社交网站或传统商业站点,而且你希望你的访客的体验是愉快的、毫无压力的。那么接下来请想像一下下面这个令人不适的场景:

如果访客对你的网站的载入、渲染、服务或界面体验不佳,那么十之八九将会归咎于你的网站,而事实上可能是因为他们正使用的是9年前发布的IE6(苌蓊芪:微软已宣告IE6的死亡)。这并不意味着你仅有的技术人员必须找到一个兼容性方法来满足这部分访客的需要,你不必在得到一个访客对你网站“损坏”的抱怨评论时花费时间来折磨你的大脑在浏览器模拟上以找出问题所在。你只需要使用WP-UserAgent。

    系统信息也将在你的网站上显示出来,就在你的访客留言评论的地方。但是我们没有必要因此而公开嘲笑那些小白。你可以让这些代码自动显示在评论框中,也可以选择性地插入到一个自定义的特殊的帮助区域页面(的comments循环段中)。

WP-UserAgent现在可以甄别近200个浏览器、超过35个标准的操作系统以及超过20款移动版操作系统,在它的帮助下你可以确定你的用户的用户体验是否是最新的。

插件下载:http://wordpress.org/extend/plugins/wp-useragent/

本文译自:http://wpmu.org/capture-user-browser-and-operating-system-information-on-your-wordpress-site/

, , , , , , , , , ,

Dilectio for 网憩阁

2011年04月04日 分类目录 :wordpress资源| 个人日记 4

近期主题更换地有点频繁,不过接下来差不多在很长一段时间内不会改动了吧。今天又给网憩阁换了个主题,这个主题是由雷霆从互联网上挖掘并上传到菊子曰空间的,它的一些风格很合我意,于是下载下来对它进行了一番修改,以满足我对主题的一些要求。

Dilectio是一个非常简单而又精致的主题,它是由Design Disease 设计的一款发布于Creative Commons Attribution-Share Alike 3.0 License许可证下的主题。

原始效果截图

我的修改版主要改动:

  • 三栏变两栏:我一直很喜欢两栏主题,因此当决定用这个主题时就明确了将其改造为两栏的想法。不过改动后好像没原来的那么美观了,郁闷,得想个法子改善一下美观度的问题了。
  • 首页日志输出摘要:主题默认是输出全文,因此要想首页紧凑些就不得不使用截断插件了,但是这类插件使用起来都不大好,要么按字数截断、要么按段落截断,然而按字数、单词数的话会导致不美观,而按段落的话没法很好地介绍文章,因此比较中意的是使用摘要。当然,不可否认的是我现在写摘要的水平还很差,完全没法在摘要中体现出文章的主要内容,别介意!

当然除了这两个主要改动之外还有一些细节的变化,此处就不再累赘。

修改后的效果

我对这个主题的修改还将继续,直到它完全成为我心目中完美的那个主题为止。

Dilectio原版下载:http://designdisease.com/portfolio/dilectio_wordpress_theme/

修改版暂不提供下载,等几个比较重要的地方修改完成后再提供下载,以供有需要的朋友使用。

,

主题汉化之valentine

2011年03月10日 分类目录 :wordpress资源 3

       近来为菊子曰空间挑选主题、插件时看中了valentine这个主题,于是乎便拿下来对其进行了一下小微调并本地化。

       valentine是一个非常现代化的主题,非常值得一试。尤其要指出的是,主题内嵌了许多个性化字体,对于文章中出现的英文、特殊符号会以不同的字体显示,这让我们的中文日志更添一分光彩,如果是英文日志的话那就更完美了。valentine还支持wordpress3.0的自定义菜单功能。

除了对其进行汉化之外,我还对一些细节部分进行了修改:

       右侧侧边栏带链接的文字字体颜色从黑色改为白色,原来的黑色字体和背景色难以区分,现在黑白鲜明的对比使得我们能够清晰地辨识了。此外,原本我想将侧边栏的整体位置下移,以何左侧菜单栏持平,不过在实际调试中我发现一旦其位置下移到105px之后,会有部分内容无法完整显示出来,故而最终放弃了这个想法。现在这样不会让人感觉很怪吗?疑惑中!

       希望大家能喜欢。

在线演示:http://wangqige.com

下载地址:http://u.115.com/file/f4f9c7b0fc

, , ,

在需要时才载入博客的图片资源

2010年10月02日 分类目录 :Wordpress技术| wordpress资源 2

        所有博主都知道在一篇日志中,图片扮演了一个非常重要的角色。尤其是对于Make Tech Easier这类技术博客来说,使用大量截图更能使读者容易并清楚的理解教程。而事实上,问题就出在这,如果页面上的图片越多,那么这个页面的载入速度也就越慢,而且需要耗费的带宽也就更多。此外,如果网站的图片资源是存放在那些付费图床网站的话,也就会因为高带宽消耗而支付更多的费用。

        解决这个难题的一个好方法就是在需要时才载入图片,既是延迟加载。


        Lazy loader是一个jQuery插件,它可以推迟长页面中图片的载入。 可视范围(页面的可视部分)外的图片在它们显示在屏幕中之前将不会被加载。对那些包含了大量图片的网站,lazy load可以使页面加载更快且可以帮忙降低服务器压力(以及费用)。

        下面让我们绕开技术细节来看看整合它进WordPress博客的最简单的方法: 

 jQuery Image Lazy Loader

        毫无疑问,在WordPress中插件是最简单的东西。jQuery Image Lazy Loader 就是一个可以将延迟加载功能整合进博客网站的插件。

       jQuery Image Lazy Loader 没有什么配置,我们需要做的仅仅是安装并激活它。

        当激活后,延迟加载脚本将在所有页面中工作。

 Lazy Loader

       Lazy Loader是另一个可以整合延迟加载功能的插件。不同的是,它是可配置的。Lazy Loader 无法在WordPress的插件库中找到,所以我们需要访问开发者的网站来下载(这意味着我们无法在后台直接安装它)。

       当我们下载好之后,上传安装并激活它,然后我们就可以从后台的“设置—>Lazy Loader”选项中配置它。

        可选项包括在所有页面、主页、页面、分类等类型的页面上插入延迟加载脚本。我们也可以设置极限数(在页面上加载的图片数)来避免加载图片的延迟现象。

        其他选项包括加载效果以及使用自定义的占位图。

总结

        延迟加载是一个非常好的办法来降低网站使用的带宽,改善页面加载时间以及整体性能。如果你只想要一个即装即用的方案,jQuery Image Lazy Loader是最适合的;而如果你需要的是更自主的操纵,那么 Lazy Loader是更好的选择。

        最后,对于那些骨灰级用户来说,他们可以查看延迟加载项目来更深入地整合进网站。

How to Improve Your Site’s Performance By Loading Your Images On Demand [WordPress] originally published on Make Tech Easier 

,

强大的wordpress主题:Woodpress

2010年09月15日 分类目录 :wordpress资源 9

一个优秀的博客,必然需要一个优秀的主题,毕竟门面也是非常重要的嘛。最近我在网上看到个非常不错的主题,想在这里分享给大家。这个主题没有奢华的界面,但是其功能非常强大,而且有很多在其他主题中看不到的特性,给人以一种全新的体验。

WoodPress是由MagPress.com设计制作的一款3栏、自适应屏幕的主题。这个木质背景的WP主题提供了一个简单易懂的选项设置页面、推荐文章幻灯片、内置热门标签和相关文章、预留广告位以及更多其他功能。

该主题发布于 Creative Commons Attribution-Share Alike 3.0 United States License协议下,我们可以在授权范围内自由使用。

        

此主题的特性:

  • 首页幻灯片效果
  • 首页支持显示文章摘要
  • 侧边栏支持热门主题(根据评论数来排序)
  • 侧边栏支持显示最新评论
  • 侧边栏显示YOUTUBE视频
  • 文章页面有相关文章侧边栏效果,且支持显示摘要内容(如未设置摘要则有显示全文的可能)
  • 预留多个广告位(页首、文章页面、侧边栏、首页文章之间)
  • 支持WP3.0
  • 支持WP3.0菜单功能
  • 等等

由于这是我第一次汉化国外优秀主题,因此在一些措辞等方面可能存在问题,现已知的已有:后台为首页文章直接插入广告一项翻译不准(我译成了环绕文章),欢迎对此熟悉的朋友指出错误,让更多人用上这个优秀的主题。

Demo:http://wangqige.com

下载:woodpress_英文版.zip   http://u.115.com/file/f420cc738d 

      woodpress汉化版.zip    http://u.115.com/file/f44ed072be

,

利用ReCaptcha来阻止垃圾评论

2010年09月14日 分类目录 :wordpress资源 3

        拥有属于自己的博客的朋友们一定被那些烦人的垃圾评论惹恼过,即使是一个刚刚上线的博客也有可能会遭到垃圾评论的狂轰滥炸。因此,我们不得不安装一些No Spam插件来阻止它们,而在这些插件中Akismet无疑是最最知名,且最受广大WP博主喜爱的。然而,Akismet毕竟不是人脑,它无法准确地辨别出每一个垃圾评论,且会有将正常评论误判为垃圾评论的可能,故而我们仍然需要经常去查看垃圾评论列表,把其中的正常评论给恢复出来。那么我们是否有一劳永逸的办法来解决这个世纪难题呢?答案是有,就是使用验证码插件,让评论者在发布评论时输入一个验证码。

用不用验证码?

    现在,许多站长不愿意使用验证码系统,因为很多验证码是非常讨厌的。你是否尝试过阅读那些“只有人类才能读的”文本?我喜欢使用ReCaptcha的原因是它不但安装简单,而且你的读者可以在几秒内辨认出验证码——但是,它的的确确可以阻止那些愚蠢的垃圾评论。

    这是我没有安装ReCaptcha之前的评论框。

    正如你所看见的,什么都没有,只有一个简单的带有“提交”按钮的评论框。

    由于简单的评论框的缘故,我几乎每个星期都要面对数量众多的垃圾评论(如上图所示),因此我觉得是时候启用验证码系统了,而ReCaptcha在整个互联网界已是同类产品中最好的一个了。

下载并安装ReCaptcha

    ReCaptcha设置的第一步是注册并下载该插件,且上传到服务器指定文件夹——WordPress用户请上传到“wp-content/plugins“。ReCaptcha 已经兼容WordPress, PHP, phpBB, Drupal, Joomla, Coldfusion, Java以及其他平台、程序环境。欲知详情请阅读介绍页面

    无论你安装在什么环境下,你都需要注册一个ReCaptcha帐号以获得一个公共、私有密钥。

    在WordPress中,当你激活这个插件并在插件设置中启用,你将会发现ReCaptcha是如何运作的。你需要输入你的公共、私人密钥以使插件正常工作。

    你将会注意到你可以让ReCaptcha减少对注册会员的烦扰,它也可以为注册页提供安全服务。它所有功能中最好的无疑是隐藏真实邮箱,它会转换所有发布在网站上的EMail地址成一个链接,且隐藏真实的邮箱地址。——避免邮箱地址被垃圾邮件制造者获取并发送垃圾邮件。

        这个功能对WordPress用户很好,但是如果你的网站是用PHP编写的怎么办?Recaptcha的网站上已经详细介绍了如何处理,例如:插入ReCaptcha到PHP页面。

<form method=”post” action=”verify.php”>
 <?php
 require_once(‘recaptchalib.php’);
 $publickey = “your_public_key”; // you got this from the signup page
 echo recaptcha_get_html($publickey);
 ?>
 <input type=”submit” />
 </form>

    很显然,你需要上传verify.php recaptchalib.php,它们已经在下载包中提供了。因此在任意网站及平台安装它都是非常容易的。它是非常高效率的,事实上它也是Google网站管理员工具官方博客强力推荐的一款应用。

下图就是我启用了ReCaptcha之后的评论框

输错验证码之后会弹出如下提示:

在使用之前我每天都要收到数十个垃圾评论,但是启用本插件之后,我至今未收到过一个垃圾评论。在它的帮助下,我现在有了更多的时间(不必再去搭理垃圾评论了),我可以去休息一下,打场高尔夫什么的了。

本文译自

,

用W3 Total Cache改善WordPress的表现

2010年07月24日 分类目录 :Wordpress技术| wordpress资源 3

如果有那么一个插件可以用近乎完美的方案来改善WordPress的表现,这就必定是W3 Total Cache了,这是一个被众多知名网站所使用的优秀的缓存插件,这其中也包括了 Make Tech Easier。

为什么需要缓存插件?

无论何时你载入一个WP站点上的页面,服务器必须先在数据库里查询相关内容,然后在发送到浏览器供你浏览前格式化内容为HTML格式。如果你的网站每天只有10至20个访问者的话,这样是很好的。但是如果你每天有成千上万的读者的话,你的服务器的CPU工作量就会成倍增加,甚至会崩溃,这就是为什么一些网站当他们的文章在Digg上升至首页后会崩溃。而缓存插件的工作就是将动态页面保存为静态的HTML格式,当访问者访问你的网站时,这个静态页面将会被呈现在读者眼前,而省去从数据库中提取这一步骤。在这种情况下,它会减少CPU的工作量。

W3 Total Cache:一个一站式缓存解决方案

W3TC不仅仅是一个缓存插件,事实上它还集成了很多功能来让你优化网站。

 W3 Total cache主要有4个部分的功能:

  • 页面缓存
  • 数据库缓存
  • 压缩脚本
  • 内容分发网络

这是设置你的网站为静态html格式并在访问者访问时向他们显示的部分。

在这里,你可以决定是否向登录用户缓存页面以及是否缓存主页。你也可以调整缓存的周期以及浏览者的user agents。如果你正在使用一个适用移动设备的主题的话,你也许需要增加移动设备的user agent到列表里,因此一个适合移动设备的主题(替代缓存页面)将会显示在移动设备上。

压缩脚本

压缩你的CSS和javascript是一个非常好的降低页面文件大小的方法,这也将减少网站的载入时间。在这个设置页面,你可以调整W3TC来压缩HTML代码、Javascript和CSS。

数据库缓存

为了减少数据库查询次数,W3TC会缓存数据库查询,并在一段时间内使其可以产生作用。在这段时间内,所有数据库查询都会从缓存中载入,这样就减少了服务器从数据库中提取数据的时间。当最后期限到了之后,插件会重新缓存数据库查询。

内容分发网络(CDN)

除非你需要使用到很多流量,否则你不需要使用CDN。CDN的任务是从离访问者最近的一个服务器载入你的内容(例如图像、CSS、javascript文件),这样可以使你的内容载入速度提高,同时减少你的服务器的带宽。

W3TC 和多个CDN公司兼容,包括亚马逊云服务、S3,甚至是你自己的FTP帐号,你可以选择从CDN载入你的wp-includes/files、使用中的主题、甚至是压缩后的CSS和JS文件。同时也有些选项让你设置上传到CDN的文件类型。

检查W3TC的运作情况

当你安装并设置好这个插件后,你可以退出WP后台并回到首页,右击页面选择“查看源代码”,拉至底部你可以看到一段W3TC信息,这个可以帮助你知道你的网站载入速度。

当然,你也可以在使用这个插件前后分别查看一次载入速度,再做个比较。

英文原文:http://maketecheasier.com/improve-wordpress-performance-with-w3-total-cache/2010/07/21

, , ,

用桌面软件管理WordPress评论

2010年06月19日 分类目录 :wordpress资源 7

有那么一种人,他们希望在桌面软件上完成那些需在网页上完成的工作:如发文章,他们会使用微软的Windows Live Writer(俗称WLW)、国内最优秀的离线博客管理工具——菊子曰、又或者是许久未更新的Zoundry Raven。于是,他们又不满足于仅仅用软件来发布文章了,他们希望能够用软件来完成更多WordPress的工作。于是乎,在桌面软件上来管理WordPress上的评论的软件就出现了。

现在比较知名的WP评论管理软件共有2个,其一是基于Adobe Air的Moderator;另一个是国内35互联(一个提供基于WP博客服务的网站)的开发人员开发的WP-Comments-Notifier,不过此程序现在只有英文版,鉴于需要用到的那些英文都很简单,一般有点WP经验的朋友都能搞得定它。

Moderator:

Moderator的安装非常简单,不过由于它是基于Adobe Air的,所以在安装的同时会顺带安装Adobe Air,安装好程序之后,前往作者网站下载一个配套的WP插件,有了它这个软件才能正常运行(点我下载),下载后上传并激活,一切就绪后,就可以使用Moderator来管理WP博客的未审核评论了。

WP-Comments-Notifier:

WP-Comments-Notifier(为了方便,以下简称为WCN)是35互联的开发人员专门设计的一个管理评论的软件,和Moderator相比,它的功能更为强大,它除了可以审核评论外,还可以编辑、删除评论,也可以直接在软件中回复评论,如果说Moderator是一个评论审核工具的话,那么WCN就是一个不折不扣的评论管理程序了。

1.从google code上下载WCN安装包(点我下载

2.安装程序

3.启动程序,设置博客地址,输入用户名和密码

4.设置博客昵称,方便管理

下图即为程序读取数据后的页面了

设置评论检测时间间隔及是否在系统启动时运行本程序

评论管理功能一览:

Unapprove为驳回审核

Approve为通过审核

Reply为回复评论

Edit为编辑评论

Spam为标记为垃圾评论

Delete为删除评论

其它想说的:

1.WCN是一个开源程序,有能力的人可以去下载源代码来进行二次开发以使它更为强大、实用。

2.据非常可靠的消息,菊子曰在不久之后的版本中将内置评论管理功能。

3.WCN可以在LINUX下编译安装,可是我不会哭

, ,

YOURLS:创建属于自己的短地址服务

2010年05月27日 分类目录 :web资源| wordpress资源 1

短地址服务,顾名思义就是将一个长网址用一个较短的地址来替换,我们可以将这个短地址分享给任何一个人。这个服务可以使他们直接通过短地址访问原始地址所链接的页面。不知道是否有博主朋友希望能有自己的短地址服务?今天,我在国外网站上看到一个提供给站长架设自己的短地址服务的程序。现分享给大家,望有需要者笑纳! » 阅读全文

, , ,