帖子标记 ‘Wordpress’

对于一些转载性质或采集性质的网站,因为外链图片有可能被来源网站删除或出现防盗链的情况,有的时候站长期望把文章中的外联图片都保存到本地空间里。解决办法是在原有的系统中添加一个PHP自动保存文章中外部图片的功能。

首先我们想到的是可以通过正则匹配来寻找文章中所有的img标签,这个表达式需要可以匹配跨行的img标签,并且需要对img标签做条件判断允许img标签带有其他属性.解决方案是使用preg_replace_callback() 这个函数。

function getRomatePic($data){
        $pattern = '/<img[^\/]*src=\"([^\"]*)\"[^\/]*\/>/ims';
        return preg_replace_callback($pattern,filter_image_call, $data);    
}

为了完成外部图片的链接过滤及图片的本地保存,定义filter_image_call()。

function filter_image_call($match){
                $postImagePath="pic/";
                $postImageUrlBase="http://localhost/pic/";
        $image_tag = $match[0]; //获得匹配的img标签
        $image_url = $match[1]; //匹配img标签的src属性值
        //如果src属性值不是http://开头的,也就是说图片已经是本地地址,不做任何修改而返回原始的img标签
        if(substr($image_url, 0, 7) != 'http://'){
                return $image_tag;
        }
        $postfix = date('Y-m-d');
        $dir_prefix = $postImagePath.$postfix."/"; //预定义的本地保存图片的文件夹,根据需要改变
        $url_prefix = $postImageUrlBase.$postfix."/"; //预定义的url前缀,根据需要改变
        //echo $url_prefix;
        //新建保存图片的文件夹
        if(!file_exists($dir_prefix)){
                mkdir($dir_prefix, 0777, true);
        }
        //随机生成图片文件名
        $arr = split("[/\\.]", $image_url);
        $ext =  '.'.$arr[count($arr) - 1];
        $file_name = substr(sha1(date('Y-m-d H:i:s') . rand(0,1000)), 0, 5) .rand_str(5) . $ext;
        //使用http_get_file函数得到远程图片文件,并保存到本地
        $file = http_get_file($image_url);
  file_put_contents($dir_prefix . $file_name, $file);
        //通过str_replace函数替换掉原始img标签中的src属性/
        return str_replace($image_url, $url_prefix . $file_name, $image_tag);
}

最后,定义获取图片的函数,也可以使用discuz中的dfopen函数

function http_get_file($url){
        $url_stuff = parse_url($url);
        $port = isset($url_stuff['port']) ? $url_stuff['port']:80;
        $fp = fsockopen($url_stuff['host'], $port);
        $query  = 'GET ' . $url_stuff['path'] . " HTTP/1.0\n";
        $query .= 'Host: ' . $url_stuff['host'];
        $query .= "\n\n";
        fwrite($fp, $query);
        while ($line = fread($fp, 1024)) {
                $buffer .= $line;
        }
        preg_match('/Content-Length: ([0-9]+)/', $buffer, $parts);
        return substr($buffer, - $parts[1]);
}

另外中间会用到的还有生成指点数目的随机字符串:

function rand_str($size=6,$feed="abcdefghijklmnopqrstuvwxyz0123456789"){
                for ($i=0; $i < $size; $i++) {
                                $rand_str .= substr($feed, rand() % strlen($feed), 1);
                }
           return $rand_str;
        }

整个方法如上,高手可以将上述修改为 WordPress插件,Discuz插件,PHPWind插件等。

在2010年,越来越多的个人独立博客出现在网络上,真正到了全民皆博的时代。而在大部分博主看来,wordpress绝对是最好的选择。当然了, 美观大方个性的wordpress皮肤也是必需的。WDL的作者从大量的优秀的wordpress皮肤中精心挑选了下面这12款相当杰出的作品,更重要的是他们都 是免费的。

2010年最佳jQuery插件(排名不分先后):(猛击皮肤标题或者缩略图可以直达demo页面)

Shaken Grid

wordpress_2010_最佳皮肤
(全文 …)

WordPress即使不是世上最流行,那也是数一数二的开源博客和内容管理系统。有超过250万的网站和博客采用这款屡获奖项的网络软件。并且 WordPress的潜在用户群也在日益扩张,他们中不乏开发者、设计人员、投稿人和自由作家这些独具技术和知识的群体。我自己的自由职业业务也有超过9 成与 WordPress多少有关系,并且我发现为客户提供高质量、经济实惠的个性化的WordPress网站会快速增加我的业务。

在这篇文章中,我为大家提供13个我经常去看一些技巧和教程的网站(排名不分先后)。我相信这些网站会增加你对WordPress的了解,让你使用起WordPress来更得心应手。有些网站可能你已经知道,但是不管怎样,这些网站介绍的东西,让WordPress更加完美。

.org
13个WordPress技巧和教程的网站 | iwanna.cn 我想网
显然要说这个网站。任何一个用WordPress的人都至少去过一次这里。官网提供了使用WordPress所需要的任何东西,包括提供服务支持的论坛 ——论坛包罗万象,从插件到模板什么都有。当然,Codex部分是定制WordPress站点最好的地方。
(全文 …)

今天分享:48个10月份最新的WordPress主题下载,其中有一半是免费的,有一半是收费的,希望有你喜欢的。

免费主题

Skeptical

48个10月份最新的WordPress主题下载 | iwanna.cn 我想网
(全文 …)

一个可以对博客的运行状况进行监控的国外网站。进入首页,在输入框内键入您的网址,点击“Check”即可进行检测。结果如显示“Your blog is working”就说明您的博客目前访问正 常,显示“Your blog is broken”则说明 暂时无法访问。检测结果的下方是一些博客的相关信息和数据,如博客的关键词、IP地址、RSS状态和Google收录等。如果您想随时追踪网站是否运行正 常的话,还可以添加RSS进 行订阅和检测。

检测博客运行状况的网站

点击访问:http://ismyblogworking.com/

最早发现这个时差问题是在我们首页添加24小时内热文(显示浏览最多十篇文章)后发现的,平时每天更新20-30篇,即 使扣除8小时影响也不大,但在某个周末的最近24小时文章刚好够10篇时,它只显示几篇给我,当时就诧异了。当时没想过根源是 timestamp 函数,只是想简单 hack 一下就好,将 wp-postviews 插件里 get_timespan_most_viewed 函数中的

$limit_date = current_time(’timestamp’) – ($days*86400);

改为

$limit_date = current_time(’timestamp’) – ($days*86400) – 28800;

// 8小时就是 8×60×60=28800秒

所以今天在把我们首页第一篇文章的时间显示方式改为 xxx mins ago 时,8小时时差又出现了,于是毫不犹豫的暴力 hack 了,同样是把

<? echo human_time_diff(get_the_time(’U’), current_time(’timestamp’)) . ‘ ago’; ?>

改成

<?php echo human_time_diff(get_the_time(’U’), current_time(’timestamp’) – 28800 ) . ‘ ago’; ?>

当然我这样指标不治本,有兴趣折腾的同学可以直接到 wp-includes/formatting.php 里修改 human_time_diff。就解决 human_time_diff 函数的 timezone 问题而言,我这个方法简单有效(网上N多老外哭求这个时差问题都没有答案,哈哈哈),但究其根源还是要解决 timestamp 函数的时差问题。
(全文 …)

的插件越来越多,速度也越来越慢,咋整?

静态化!

今天主要是把流程 Step by Step 一下,不用理解为啥这么设置, 只需要知道设置后会变的很快

所谓提前优化是万恶之源的意思就是说,之前网站做的越烂,优化的空间就越多
和老板说看,之前多烂多烂,俺给你省了多少多少钱,一般都能拿奖金
静态化也一样,之前一大堆插件,开个页面上百次MYSQL查询,或烂人写的没效率SQL会让人不禁抓栏杆撕床单

WP Super Cache 并不是100%静态化,不过这个不重要,他把最卡的部分搞定了即可

WP Super Cache 他唯一的缺点就是如果你在改主题或搞啥插件,后台设置了前台看不出变化,为毛?下面有解决方案

OK, let’s gou

  1. 首先,永久连接不能使用默认格式
  2. 修改永久链接格式,中文推荐采用 /%post_id%.html (这下你知道我的.orz哪里来了吧)
    如果你和我一样蛋疼愿意为每篇文章写一个英语的post slug
    建议采用这样的格式:/%postname%.html (百分号外面的随意写)

(全文 …)

wordpress自动采集插件-smartrss

功能特征:
随心所欲地把自己喜欢的RSS里面的文章自动发布到自己的wordpress 博客上,使得 具有了类似于有些 CMS 的自动采集功能。
使用方法:
1、下载jay_smart_rss.zip(http://www.jaylee.cn/wp-content/uploads /jay_smart_rss.zip,若下载地址失效,请自行上网搜索本插件),解压后把jay_smart_rss.、wp- cron. 和wp-cron-update-rss.php上传到/wp-content/plugins/目录下;把wp_smartrss.php和 wp_smartrss_hide.php上传到博客根目录下。
2、在插件管理页面激活jay_smart_rss。成功激活后,选项下面会多出一个Smart RSS,点击“Smart RSS”,然后在Add New后面添加你想要发布到你的博客上的文章源RSS地址,选择相应的目录,然后“Save”。
3、在浏览器里输入“http:// 你的博客地址/wp_smartrss.php”,如果看到系统开始读取你设定的RSS地址,同时插入文章成功,恭喜你,大功即将告成。
4、完成第3步后,到插件管理界面激活插件wp-cron.php和wp-cron-update-rss.php,不出意外的话,你的博客从此可以自动 从设定的RSS读取文章并自动在相应的目录发布出来了。程序在自动更新期间博客页面底部会出现如下提示:All News is Auto Updating, Supported by Jay Smart RSS
wordpress自动采集插件 -Caffeinated Content


是一个非常强大的WordPress插件,根据关键词搜索Youtube、Yahoo Answer、Articles、Files而获取相关内容,可保留原文也可翻译成多个国家语言,并可以定时定量自动发布到你的博客上的插件工具。
下载地址:Caffeinated Content
下载解压后上传到plugins根目录下,到后台激活即可,完全破解使用,内有注册码,放心使用。

wordpress自 动采集插件-WP-o-Matic


是一款效果非常不错的WordPress采集插件,虽然少了自动分类功能,但该插件在各个方面都表现的尚佳,相对于wordpress采集插件 Caffeinated Content来说,wp-o-matic是不错的选择,通过RSS完成blog的自动采集。
WP-o-Matic 插件是博客联盟见过的最狠的一个 wordpress 采集插件——只需在后台设定 Rss 源以及采集的时间,WP-o-Matic就会自动执行。它甚至可以将对方网站的附件以及图片等都采集,跟国内的cms系统有得一拼,完全无需站长耗心耗 力。
下载地址:wp-o-matic
WP-o-Matic安装使用方法:
1、解压后上传插件到你的plugins根目录。
2、需要在火狐或safari中使用激活WP-o-Matic插件。
3、激活插件后设置栏出现WP-o-Matic选项点击进入第一步的设置。
4、进行Add campaign里进行采集设置,主要在feeds里添加要采集的目标站的feeds,categories选择采集分类。
5、在options里设置采集路径等,默认就行,Cache images要求建立个“Cache”文件夹并修改权限为777。每次采集都需要在add campaign执行,addcampaign设置完成后点击submit后,如果未设置好,他会提示你,直到Campaign added successfully. Edit it or fetch it now后点击fetch it now。

wordpress 自动采集插件-autoblogged


(这个本版本Autoblogged仅支持包括 WordPress 2.7x 以及之前的版本。并且用英文版本WordPress程序)

可 以自动根据关键词获得YouTube及Yahoo answer等内容,进而实现博客内容自动发布的目的
简介:AutoBlogged 是一个强大的自动通过RSS 订阅发布到WP博客的插件,你可以用它建立你的自动网赚博客,也可以建立你自己的博客群(blog farm),通过这个插件你可以生成视频、图片或者文章博客等,可以说是一个比较简单的英文网赚方式了,大致特性如下:
* 支持图片及视频发布
* 自动通过文章源获得关键字
* 自定义 Post 模板
* 自动生成缩略图
* 完全支持 WordPress 2.6 以上版本
* 可配置多 RSS feed 源
* 支持 RSS 0.9, 0.91, 0.92, 1.0, 2.0, Atom 0.3, 1.0 feeds.
* 内建 feed 缓存
* 还不止这些,各位玩儿家慢慢挖掘吧 … …

这个插件 安装很简单,安装方法与其它 WP插件无异,使用方法我也不做过多介绍了,希望用得开心。

wordpress自动采集插 件-FeedWordPress

这个插件用的很不错,主要是读取feed 来实现你的博文更新的。恋吧用的感觉一直不错!并且官方更新的也很快!建议不要用汉化包,就用英文版WordPress和 FeedWordPress原插件!
FeedWordPress is an Atom/RSS aggregator for WordPress. It syndicates content from Atom or RSS that you choose into your WordPress blog.
This means that you can syndicate content from any blog, newsfeed or other source that you choose. Best of all, once it’s setup, FeedWordPress runs automatically.
After you have downloaded FeedWordPress, uploaded it to your WordPress plug-ins folder and activated it from your WP admin panel, you can have several different customization options to choose from:
插件发布地址(貌似无法打开),官方下载地址页面

wordpress自动采集插件-BDP RSS Aggregator

通过BDP RSS Aggregator 这个wordpress 插件,可以聚合多个blog的内容。适用于拥有多个博客的blogger,或者资源聚合和分享类的blogger,以及群组blogger。

BDP RSS Aggregator 插件主要是聚合标题以及部分摘要,并不会全文现实内容,也不会把对方的文章导入到自己的数据库里面。详见 aggregated blog feeds:聚合多个博客的内容一文。

wordpress 自动采集插件-FeedWordPress

FeedWordPress 是一个rss 聚合插件,可以聚合其他博客的内容源现实到自己的博客上,并且是以全文的形式。你可以点此下载中文版。

wordpress 自动采集插件-Friends RSS Aggregator (FRA)

Friends RSS Aggregator (FRA) 这个插件可以通过RSS聚合,也只是现实文章的标题,发布日期等。

inlineRSS

Inlinefeed 支持RSS, RDF, XML or HTML等几种格式,通过Inlinefeed可以让Rss源的文章现实在特定文章内。

wordpress 自动采集插件-GetRSS

激活GetRSS插件后,可以使用如下的代码聚合 rss 的文章。

把 rss地址换成你想聚合的rss地址就可以了,5是显示文章数量,可以修改

今天在博客的读者栏中发现的不错的一个站点提供的播放插件,好东西自然要强烈推荐下的,哈~~

晓星帮我们做了在WordPress中进行歌曲分享的插件。感谢晓星!

WordPress搭建的博客中,增加这个插件后,会在撰写文章时,多看到一个工具图标,是亦歌的logo。

这个工具可以让作者输入关键词,搜索出指定歌曲,选定歌曲后在文章中会出现亦歌迷你播放器,播放这首歌,简单方便!效果如下:

如果您在博客中向朋友们推荐您喜爱的歌曲,一定记得使用这个插件哦!

在这里查看详细信息和安装方法:http://www.1g1g.com/extensions.html#wp-mini-player

性能是一个网站成功的非常关键因素,任何人都不喜欢访问速度超慢的网站。 的开放性造就 有着成千上万的插件,使得 比以其他 CMS 程序更受欢迎,但是开放也在一定程度上使得 的性能不是很好,所以当你发现你的 站点性能很差,你应该尝试通过下面的方式去优化它:

一些最基本,简单的提速方法

1. 更新 WordPress 到最新的发行版本

WordPress 每次版本的升级都有对性能的改进,所以升级到 WordPress 最新的发行版本是改进性能的第一步。

2. 删除没用的插件和更新正在使用的插件

删除任何你不再使用的插件,并从服务器上删除它们,这样会明显加速 WordPress 速度,因为 WordPress 运行的时候会检查每个插件是否被启用,并且导入激活的插件。

另外最好把现在使用的插件更新到最新版本,因为插件的开发者发布新版本一般来说他们应该是在某种程度上优化了插件工作效率。
(全文 …)