zencart直接调用wordpress博客系统文章的方法
WordPress On ZenCart 插件的安装步骤
如果你的ZenCart需要一个Blog来发布一些你的最新动态,
可以试试Wordpress,并且用WOZ这个ZenCart的Module来把它们关联起来。
WOZ的全名叫Wordpress On ZenCart。
下面就详细介绍一下WOZ的安装方法,当然你可以在WOZ包里找到英文的安装说明。
我所使用的版本为ZenCart1.3.8和Wordpress2.8.5,至于其它版本能否集成,没有测试过。
WordPress on ZenCart总的来说有两种安装模式:
第一种是把Wordpress的文件全部解压到ZenCart的根目录下,另一种方法是把Wordpress单独放到ZenCart下新建的一个目录里。
两种方法最后访问Wordpress的地址都是:
[Zen-Cart URL]/index.php?main_page=wordpress
第一步,安装Wordpress 把Wordpress解压到你的ZenCart目录下
1.安装Wordpress
2.设置Wordpress 在Wordpress的后台设置一下,setting -> General -> Blog address(URL) 把Blog address (URL)改为[Zen-Cart URL],即http://your.zen-cart.com 把主题设为默认主题。
3.上传WOZ的文件 建议用ftp直接覆盖: 把WOZ解压后的ZC_ROOT目录下的文件上传到服务器Zen-cart的安装目录下。
把WOZ解压后的WP_ROOT目录下的文件上传到服务器WordPress的安装目录下。
再把/ZC_ROOT/includes/templates/MY_TEMP/里的CSS文件上传到你的Zen-cart模板里的CSS文件夹里。
这个是Wordpress的显示主题。
4.修改Wordpress的文件 在你的Wordpress安装目录下,找到[Path of WordPress]/wp-include/template-loader.php,把所有的”exit;”都替换成”return;”。 如果你的Wordpress版本比较新,就不需要做这一步的工作了。
5.修改Zen-cart文件 打开Zen-cart安装目录下的[Path of Zen-Cart]/includes/extra_configures/wordpress-config.php,
把 define (‘ABSPATH’,’/var/www/vhost/example.com/public_html/blog/’);
替换成 define (‘ABSPATH’,'[Path of WordPress]’);
比如说,在我本地我是改为这样的东西: define (‘ABSPATH’,’E:/mywebs/zen-cart/blog/’); 记住,这个路径得是你服务器上的绝对路径。
6.布局设置 在ZenCart后台管理面板的admin panel › tools › Layout Boxes Controller里,选择打开你需要的Wordpress侧栏框。所有和Wordpress有关的侧栏框都是以WP_XXX格式存在的。
7.检查 现在你可以通过 http://your.zen-cart.com/index.php?main_page=wordpress 这个网址来访问你的Wordpress了。 如果你能看到Wordpress,则表明你已经把Wordpress集成到了ZenCart里了。 完成了这七步,基本上就把Wordpress的显示页面整合到了ZenCart里面。
适合做adsense的wordpress模板BlueSense
新做了一个博客站,流量也有一百多PV每天,但是adsense点击收入几乎为零,不得不让我修改一下了,这次不只是再改配色,而是把模板都换了,并不讲究好看,而是换成了一个适合做adsense的模板bluesense。micfly seo在这里和大家一起分享。
bluesense这个模板的一些特点:
1.单独的广告模块,不懂PHP也没有关系,只要在广告模块里面把自己的广告代码放进去就可以了。这些模块同样也可以放其它(非adsense)的广告。
2.简单易用
3.结合良好的链接单元。
4.单独文章页面的优化广告。
5.adsense的广告颜色已经自动和主题结合。
6.做了SEO优化,动态的单独页面标题(你可以点开本站任一文章试试,题目都是不一样的)在网站名称前面放文章的标题,更被搜索引擎喜欢。
7.适用于当前最新的wordpress版本。
上传模板后需要注意修改的地方:
1. 上传之后请在下面的文件中把google adsense的广告代码修改为你的,涉及需要改的文件有如下几个:
Single_bottom_adverts.php – (336 x 280 Rectangle)
Single_top_adverts.php – (468 x 60 Banner)
Header_adverts.php – (Link units)
sidebar.php
menu.php另,修改adsense广告代码时可以用到的颜色代码:主题的背景颜色#f0f6fb,标题和正文颜色#064b8c。
2.如果你要加自己的页面头部图片,把style.css里的#header部分做如下更改。原来为:
padding-top: 0px;
background: #ffffff
height: 130px;
的这部分改成
padding-top: 0px;
background: #ffffff url(‘header.jpg’) top center no-repeat;
height: 130px;
并把你的header.jpg文件上传到主题目录。图片的大小为815*130,当然高度是可以改的。
3. 这个主题可以放置很多的广告位,以至于你既可以放googler的也可以放其他广告联盟的。
Google Friend Connect for WordPress 插件
Google Friend Connect 是 Google 推出的社会化网络工具,Google Friend Connect 是一种类似于加入到你网站的 Widget 的社会化工具,通过此工具你可以将各种支持 OpenSocial 的应用都可以通过 Google Friend Connect 在你的网站上应用,并且可以已有的社会化网络进行整合应用。
很快 Google 就开放了 “Google Friend Connect 的 API“, 让你能够访问到更多 Google Friend Connect 核心的数据和功能。由于 Google Friend Connect 除了支持 Google 自身的账号之外,还支持 Yahoo 和 AIM 账号,以及 OpenID,所以 Google Friend Connect 开放 API,使得 Google Friend Connect 成为一种和 OpenID 一样的单点登录的工具,并且由于其支持的广泛性,使得 Google Friend Connect 在单点应用上变得更加广泛。
Google 在开放 Friend Connect API 的同时,也制作了 WordPress 插件,我这几天测试了一下,下面就讲讲详细的使用过程:
1. 到这里下载 Google Friend Connect for WordPress 插件。
2. 解压缩开之后,编辑 fc-plugin.php 修改下 fc_get_site_id 函数里面的 Returen 值,把设置为你站点在 Google Friend Connect 对应的值。
3. 把插件上传到 wp-content/plugin 目录,然后到 WordPress 后台激活即可。
4. 然后在留言框地方就会有一个 Sign in With Friend Connect 的按钮:
5. 点击该按钮和平常使用 Google Friend Connect 一样会弹出一个页面,让你选择登陆的方式:Google, AOL, Yahoo 或者 OpenID 的账号。
6. 登陆之后,就会返回原来的页面,并刷新该页成已登录状态。这个时候 Google Friend Connect 实际上已经在 WordPress 后台为当前用户创建了一个账号。
7. 现在就可以直接留言,并且留言的头像显示为你在 Google Friend Connect 上的头像。
8. 登陆之后,并且还有设置和邀请朋友的链接。如下:
关于这款插件就介绍的这里,你可以在留言框处点击 Sign in With Friend Connect 的按钮登陆并留言测试下效果。
新浪微博连接:使用新浪微博登陆 WordPress 博客
新浪微博开放了 API,并且支持 OAuth 协议,所以我和上次一样开发了新浪微博连接这款 WordPress 插件。
新浪微博连接是使用新浪微博 API 接口开发的一个 WordPress 插件,它的能让用户使用新浪微博账号登陆 WordPress 博客,并且可以直接使用新浪微博的头像,并且能够更新留言和日志到新浪微博。
新浪微博连接的主要功能
- 使用新浪微博账号登陆 WordPress 博客,新浪微博连接插件会在留言框,注册页面,登录页面都会加入使用新浪微博连接的按钮,你只要几次点击,然后到新浪微博进行简单的验证就能使用新浪微博账号登陆 WordPress 博客。
- 同步留言到新浪微博,新浪微博连接插件会在留言框增加一个选项,让用户选择是否把自己的留言同步到新浪微博,方便用户跟踪自己的网上行为,把新浪微博当作自己的 lifestream 一种方式。
- 同步日志到新浪微博,新浪微博连接插件能够让 WordPress 管理员绑定一个新浪微博的账号,然后博客日志更新的时候,自动更新一条微博(标题+链接)到新浪微博。
新浪微博连接的安装要求
很多同学是有这个插件的主要的问题是不符合安装需求,新浪微博连接对服务器的要求比较高:
- WordPress 3.0 版本以上
- PHP 5.2,因为新浪微博 OAuth 类使用 PHP Class 语法,所以 PHP 版本要求 5.2 以上。
- 支持 CURL 扩展,因为使用 CURL 进行连接,你可以通过
phpinfo()
函数来检测 PHP 版本和是否支持 CURL 扩展。
新浪微博连接的详细安装和使用说明
- 首先到这里下载 新浪微博连接 WordPress 插件,然后上传激活。或者直接在 WordPress 后台插件安装页面搜索“新浪连接”,然后在线安装激活。
- 安装激活之后,你应该在留言框处可以看到 的按钮。
- 如果没有出现该按钮,检查下是否你的主题的
comments.php
文件中含有comment_form
这个 action,如果没有请加上:<?php do_action('comment_form', $post->ID); ?>
- 当然如果你想自定义 的位置,可以通过在
comments.php
文件添加以下函数实现:<?php sina_connect(); ?>
- 通过 WordPress 后台 > 设置 > 同步到新浪微博菜单来激活同步 WordPress 博客日志到新浪微博的功能。
新浪微博连接的常见问题
- 再次强调安装这个插件需要,WordPress 3.0 及以上版本,PHP 5.2 及以上版本,并且支持 CURL 扩展,由此产生的问题,不再重复回答。
- 评论者的链接是微博中自己设的链接,能否调用评论者的微博地址?不能,如果你想实现该功能,请把 128 行的
$sinaInfo->url
改成:"http://t.sina.com.cn/".$sc_user_name
- 为什么使用新浪微博注册的用户的邮箱是
****@t.sina.com.cn
这样的邮件地址,显然这是不存在的啊。因为新浪微博的 API 没有提供也不可能提供用户的邮箱地址,而 WordPress 用户注册,必须需要邮箱,所以只能使用这样的邮箱方式来代替,
****@t.sina.com.cn
,并且这样还有一个好处,当你需要找有多少用户是新浪微博的用户的时候,你可以使用这个 t.sina.com.cn 这个来检索。 - 自定义位置这个函数怎么用?
这个只能告诉你把上面说的函数放到 comments.php 文件中,具体怎么放,怎么修改,你只能自己去学习。
- 出现
Call to undefined function menu_page_url()
或者Call to undefined function get_user_meta()
这个问题,是怎么回事?请升级到 WordPress 3.0 版本,上面安装要求已经告诉你要 3.0 及以上版本。
- 如果用户使用新浪微博在博客上注册一个用户,并且他的新浪微薄用户名跟博客的一个现有用户相同,就会获取该用户的权限,这样是不是有风险?
这样确实存在风险,你可以给新浪注册的用户名添加一个前缀来解决,在139行,
'user_login' => $userinfo[1],
改成:'user_login' => 'sina_t_'.$userinfo[1],
下载新浪微博连接
对于新浪微博连接就介绍到这里,有什么问题请给我留言,你也可以在本博客使用新浪微博账号尝试登陆下。
我新浪微博的地址:http://weibo.com/maniacxp
腾讯微博连接:使用 QQ 号码登录你的 WordPress 博客
腾讯微博开放了 API,并且支持 OAuth 协议,所以我继续开发腾讯微博连接这款 WordPress 插件,他能让你使用 QQ 号码登录 WordPress 博客。
腾讯微博连接是使用腾讯微博 API 接口开发的一个 WordPress 插件,它的能让用户使用腾讯微博账号登陆 WordPress 博客,并且可以直接使用腾讯微博的头像,并且能够更新留言和日志到腾讯微博。
腾讯微博连接的主要功能
- 使用腾讯微博账号登陆 WordPress 博客,腾讯微博连接插件会在留言框,注册页面,登录页面都会加入使用腾讯微博连接的按钮,你只要几次点击,然后到腾讯微博进行简单的验证就能使用腾讯微博账号登陆 WordPress 博客。
- 同步留言到腾讯微博,腾讯微博连接插件会在留言框增加一个选项,让用户选择是否把自己的留言同步到腾讯微博,方便用户跟踪自己的网上行为,把腾讯微博当作自己的 lifestream 一种方式。
- 同步日志到腾讯微博,腾讯微博连接插件能够让 WordPress 管理员绑定一个腾讯微博的账号,然后博客日志更新的时候,自动更新一条微博(标题+链接)到腾讯微博。
腾讯微博连接的安装要求
很多同学是有这个插件的主要的问题是不符合安装需求,腾讯微博连接对服务器的要求比较高:
- WordPress 3.0 版本以上
- PHP 5.2,因为腾讯微博 OAuth 类使用 PHP Class 语法,所以 PHP 版本要求 5.2 以上。
- 支持 CURL 扩展,因为使用 CURL 进行连接,你可以通过
phpinfo()
函数来检测 PHP 版本和是否支持 CURL 扩展。
腾讯微博连接的详细安装和使用说明
- 首先到这里下载 腾讯微博连接 WordPress 插件,然后上传激活。
- 安装激活之后,你应该在留言框处可以看到 的按钮。
- 如果没有出现该按钮,检查下是否你的主题的
comments.php
文件中含有comment_form
这个 action,如果没有请加上:<?php do_action('comment_form', $post->ID); ?>
- 当然如果你想自定义 的位置,可以通过在
comments.php
文件添加以下函数实现:<?php qq_connect(); ?>
- 通过 WordPress 后台 > 设置 > 同步到腾讯微博菜单来激活同步 WordPress 博客日志到腾讯微博的功能。
腾讯微博连接的常见问题
- 再次强调安装这个插件需要,WordPress 3.0 及以上版本,PHP 5.2 及以上版本,并且支持 CURL 扩展,由此产生的问题,不再重复回答。
- 评论者的链接是微博中自己设的链接,能否调用评论者的微博地址?不能,如果你想实现该功能,请把 128 行的
$qqInfo->url
改成:"http://t.qq.com/".$qc_user_name
- 为什么使用腾讯微博注册的用户的邮箱是
****@t.qq.com
这样的邮件地址,显然这是不存在的啊。因为腾讯微博的 API 没有提供也不可能提供用户的邮箱地址,而 WordPress 用户注册,必须需要邮箱,所以只能使用这样的邮箱方式来代替,
****@t.qq.com
,并且这样还有一个好处,当你需要找有多少用户是腾讯微博的用户的时候,你可以使用这个 t.qq.com.cn 这个来检索。 - 自定义位置这个函数怎么用?
这个只能告诉你把上面说的函数放到 comments.php 文件中,具体怎么放,怎么修改,你只能自己去学习。
- 出现
Call to undefined function menu_page_url()
或者Call to undefined function get_user_meta()
这个问题,是怎么回事?请升级到 WordPress 3.0 版本,上面安装要求已经告诉你要 3.0 及以上版本。
- 如果用户使用腾讯微博在博客上注册一个用户,并且他的腾讯微博用户名跟博客的一个现有用户相同,就会获取该用户的权限,这样是不是有风险?
这样确实存在风险,你可以给腾讯注册的用户名添加一个前缀来解决,在139行,
'user_login' => $userinfo[1],
改成:'user_login' => 'qq_t_'.$userinfo[1],
下载腾讯微博连接
对于腾讯微博连接就介绍到这里,有什么问题请给我留言,你也可以在本博客使用腾讯微博账号尝试登陆下。
我的腾讯微博是:http://t.qq.com/zhuohang,欢迎围观!
Analytics360°:在 WordPress 后台查看 Google Analytics 统计
Google Analytics 今年4月份就开放了 Data Export API,它允许用户访问到他们的 Google Analytics 数据,并整合到现有的网站中。WordPress 很多用户也开做着方面的整合工作,其中做的最好的是 MailChimp 的 Analytics360° 插件。
MailChimp 本身是一家邮件营销服务提供公司,它所开发的 Analytics360° 插件除了集成 Google Analytics 服务之后,还整合他自己的 RSS-to-Email 的服务,所以 Analytics360° 允许你把 Google Analytics 和 MailChimp 的数据直接集成到你的 WordPress 博客的 Dashboard,这样你无需离开你的 WordPress 博客就可以访问到你 Analytics 数据,由于 MailChimp 的 RSS-to-Email 服务我们使用很少或者基本不使用,下面主要讲讲这个插件的 Google Analytics 功能:
站点整体流量
Analytics360° 通过图表的形式显示站点的流量和趋势,并且还可以显示你博客日志和 email 营销对整体流量的影响,另外还可以单独查看搜索引擎来的流量和来源的流量等,并且可以设置时间段。
Traffic By Region
Analytics360° 还会以世界地图的方式显示你博客在世界各地的流量。
Referring Traffic Overview
Analytics360° 以一个饼图显示流量来源分别在搜索引擎,其他来源,直接输入中各占的比例。
Top Referrers
我相信这个是 Analytics360° 插件做的最好的地方,它可以让你查看你博客流量来源的最多的站点,并且还可以查看每个来源的具体信息,如果是搜索引擎,它显示关键字,如果其他来源,它显示具体的 URL 地址。
Top Content
显示博客流量最高的文章。
Analytics360° 安装非常简单,通过 WordPress Admin 后台添加该插件即可,然后在 Setting =》 Analytics360° 设置好你的 Google Analytics 帐号,然后就可以在 Dashboard =》 Analytics360° 查看你的博客的流量了。
添加 Google +1按钮到你的WordPress 博客中
什么是 Google+1 按钮
今年三月 Google 推出了+1按钮,标志着 Google 搜索朝着社交化方向又迈出了一步。通过来自搜索用户所信任的人的建议,用户的搜索结果将更具实用性和目的性。 +1按钮对网站主是非常有帮助的,访客现在可在Google搜索的结果下看到朋友及其他联系人的推荐意见,网站主因而可获得来自Google的更多优质流量。
Google +1按钮
添加 Google +1 按钮到博客中
但是+1按钮仅仅在 Google 的搜索结果中是不合适,用户在搜索的时候更关注的是结果而不是分享,并且搜索结果中简单的描述也不足以让你去推荐和分享,所以分享应该存在各个网站中,用 户看完了,点击分享才是王道,这样 Google +1 按钮才能更加容易得到用户的使用。 为了在你的网站或者博客中添加 Google +1按钮,首先你需要访问 Google 网站站长中心的+1 按钮工具。在这里,你可以配置简短的 JavaScript 片断,并将其加入你希望出现+1按钮的网页。可以选择不同的按钮尺寸和风格,使其适合网站的设计布局。 对于 WordPress 博客的用户来说,这里有个 WordPress 插件 Google’s PlusOne (+1) Button 可以让你非常快速添加+1按钮:
Google’s PlusOne (+1) Button WordPress Plugin
下载:Google’s PlusOne (+1) Button WordPress Plugin
原文链接:添加 Google +1按钮到你的博客中
Facebook Connect WordPress 插件使用方法
Facebook 的 Facebook Connect 服务允许用户从外部网站访问 Facebook 数据,如用户在 Facebook 的身份、好友列表及隐私设定等,这使得普通网站也可以具有社交功能。我下载了 Facebook Connect 的 WordPress 插件试用后,认为 Facebook Connect 的社交功能远远超过了 Google Friend Connect。
Facebook Connect WordPress 插件
在 Facebook Connect 插件目录页面,已经有三个 WordPress 插件,我简单测试了下,发现 Sociable 开发 Facebook Connect WordPress 插件的功能强大一些,它能够让用户使用 Facebook 账号登陆你的 WordPress 博客,显示最近用户,能够邀请朋友加入该博客,以及在博客上的留言分享到 Facebook 上。
Facebook Connector 安装和设置
在安装插件之前,你需要到 Facebooke Developers 页面创建一个 Application,这个比较简单,具体可以参考:https://developers.facebook.com/get_started.php,创建好之后,记录下 API Key 和 Secret,这两个数字在插件中会用到。
然后下载 Facebook Connector 插件,解压缩,上传 fbconnect 文件夹到 WordPress 插件目录,并激活,然后到 Setting => Facebook Connector 进行设置。
Facebook Connector 插件设置主要有两个部分:
基本配置
- Facebook API Key 和 Facebook API Secret 就是前面创建 Facebook Application 时候让你记录的两个数字。
- Automatic Approval,设置使用 Facebook 登陆的用户在博客的留言自动通过审核。不用经过反垃圾检查。
- Comment Form,设置是否允许用户把留言发回 Facebook。
- Secure login,加密的 Facebook Connect 链接。
留言模板
留言模板主要用于显示用户在博客留言之后在 Facebook 上的格式,如果你和我一样不是很懂,也不想深究,直接点击 Create Template 即可。
Facebook Connector 详细使用
在配置好该插件之后,来到 Theme => Widget,把这个 FacebookConnector 这个 Widget 添加到你的主题的侧边栏,就可以在你的博客上显示 Facebook Connect 按钮和最近访问用户。
点击 Connect With Facebook 按钮,就会弹出一个 Facebook Connect 登陆框:
登陆之后,就会显示你的用户名,并在 WordPress 后台给你创建一个用户。
登陆之后,并且出现了一个 Invite your friends 按钮,点击该按钮,即可邀请你在 Facebook 上的好友加入该博客了:
在登陆之后,留言的时候,选择 Publish this comment to facebook(把这条留言发布到 Facebook),如下:
留言成功之后,就会弹出一个对话框,让选择是否把这条信息更新到你的 Facebook 用户资料上面:
更新成功之后,就可以在你的 Facebook 用户资料上面看到这条留言信息了:
另外这个插件还能查看已经登陆到博客上面的用户的一些基本信息等等,这里就不一一讲解了,之 Facebook Connect 把普通网站增加 社交网络的功能远远目前是远超过了 Google 的 Friend Connect。
替换 .htaccess 为 WordPress 提速
# BEGIN WordPress
RewriteEngine on
#
# Unless you have set a different RewriteBase preceding this
# point, you may delete or comment-out the following
# RewriteBase directive:
RewriteBase /
#
# if this request is for “/” or has already been rewritten to WP
RewriteCond $1 ^(index\.php)?$ [OR]
# or if request is for image, css, or js file
RewriteCond $1 \.(gif|jpg|css|js|ico)$ [NC,OR]
# or if URL resolves to existing file
RewriteCond %{REQUEST_FILENAME} -f [OR]
# or if URL resolves to existing directory
RewriteCond %{REQUEST_FILENAME} -d
# then skip the rewrite to WP
RewriteRule ^(.*)$ – [S=1]
# else rewrite the request to WP
RewriteRule . /index.php [L]
#
# END wordpress
wordpress的easy google syntax highlighter插件的使用方法
“easy-google-syntax-highlighter”的写法如下:
<pre class=”brush:对应的值;”>代码部分</pre>
下面是对应语言的值,array之内的字符串为brush可用的值,对应的js文件为相应的处理脚本,有兴趣的可以打开来修改。
$brushes = array(‘shBrushAS3.js’ => array(‘as3’, ‘actionscript3’),
‘shBrushBash.js’ => array(‘bash’, ‘shell’),
‘shBrushCSharp.js’ => array(‘c-sharp’, ‘csharp’),
‘shBrushCpp.js’ => array(‘cpp’, ‘c’),
‘shBrushCss.js’ => array(‘css’),
‘shBrushDelphi.js’ => array(‘delphi’, ‘pas’, ‘pascal’),
‘shBrushDiff.js’ => array(‘diff’, ‘patch’),
‘shBrushGroovy.js’ => array(‘groovy’),
‘shBrushJScript.js’ => array(‘js’, ‘jscript’, ‘javascript’),
‘shBrushJava.js’ => array(‘java’),
‘shBrushJavaFX.js’ => array(‘jfx’, ‘javafx’),
‘shBrushPerl.js’ => array(‘perl’, ‘pl’),
‘shBrushPhp.js’ => array(‘php’),
‘shBrushPlain.js’ => array(‘plain’, ‘text’),
‘shBrushPowerShell.js’ => array(‘ps’, ‘powershell’),
‘shBrushPython.js’ => array(‘py’, ‘python’),
‘shBrushRuby.js’ => array(‘rails’, ‘ror’, ‘ruby’),
‘shBrushScala.js’ => array(‘scala’),
‘shBrushSql.js’ => array(‘sql’),
‘shBrushVb.js’ => array(‘vb’, ‘vbnet’),
‘shBrushXml.js’ => array(‘xml’, ‘xhtml’, ‘xslt’, ‘html’, ‘xhtml’));
wordpress某段时间内的文章数
function num_posts($days=1) {//$days就是设定时间一天;
global $wpdb;
$today = gmdate(‘Y-m-d H:i:s’, time() + 3600 * 8);//获取当前的时间
$daysago = date( “Y-m-d H:i:s”, strtotime($today) – ($days * 24 * 60 * 60) ); //Today – $days
$result = $wpdb->get_results(“SELECT ID FROM $wpdb->posts WHERE post_date BETWEEN ‘$daysago’ AND ‘$today’ AND post_status=’publish’ AND post_type=’post’ ORDER BY post_date DESC “);
foreach ($result as $Item) {
$post_ID[] = $Item->ID;//已发布的文章ID,写到一个数组里面去
}
$post_num = count($post_ID);//输出数组中元素个数,文章ID的数量,也就是发表的文章数量
$output .= ‘<a>’.$post_num.'</a>’;//输出文章数量
echo $output;
}
借助Windows Live 25G免费空间实现WordPress零附件“裸奔”
Windows Live™为注册用户提供了25G的免费附件空间,可以用来上传照片、建立相册、保存附件,并可根据文件夹设置隐私权限,如果隐私权限为“所有人(开放)”就可以将其中的相册、附件添加到我们的wordpress文章中,让wordpress实现零附件,节约了空间,也节省了流量,让wordpress轻松瘦身。
闲话:小D的博客刚建立了几天,内容相对比较少,我将之前的全部附件都转移到了 Windows Live空间,也许大家会担心,微软会不会在哪天不让图片外链啊,我倒是没有这种顾虑,主要是这样分析的:a、微软大量的用户在使用此空间,如果屏蔽外 链,用户反映会很不好,这么大的公司会很顾及用户体验的;b、微软提供的软件Writer,如果你通过Writer远程发布日志,那么你添加的相册会被默 认上传至Windows Live空间,也就是说微软在鼓励这样的做法;所以我比较放心将附件全部放在这25G的免费大空间中,也不用担心微软服务的稳定性,享受这优质的免费相 册空间、附件空间。
原创使用教程分享:
1、如何使用Windows Live空间?
如果你已经有MSN账号,那就请直接登录Windows Live,点此新页面进入登陆页面>> 如果没有,那就自己想办法注册,嘿嘿~
2、如何上传图片?
登录成功后,点击Windows Live页头的照片,创建相册,输入相册名称,例如“wordpress相册”,共享者一定要选择所有人(公开),否则附件不能外链出去。
相册创建成功就会进入图片上传界面了,此时,先别上传图片,根据wordpress的附件储存习惯,将附件按年月分文件夹储存,那么,在这我们也这样储存,有利于文件打包备份等操作;
这样操作:a、在图片上传界面,找到上传图片上面的“XXX ► 照片 ► wordpress 相册 ► 添加照片”,点击wordpress相册,如果你创建时用其他名字,那就点相应的名就可以,进入该相册页面后,找到“创建文件夹”,创建“2010”,然 后再在2010文件夹下创建“04”文件夹,这样,就能将图片按月整理你,以后可以使用其自带的.zip文件下载进行备份。
文件夹创建成功后,先在本月的文件夹下随意上传几张试试,一次可选5张,超过5张需要分次上传,上传图片是,建议选择原始大小,图片质量不会改变。(如果你需要同时上传很多的图片,你可以试试微软的软件“照片库”,但其缺点是不能上传至子文件夹)
3、如何上传其他文件类型?
也许你发现了,在相册中不能上传其他文件类型,你可以这样操作:点击页头的照片,进入页面后,左侧有一个相关位置>>Windows Live SkyDrive,点击进入后能看到你创建的相册以及其他文件夹,找不到的朋友点此给你传送过去,可以将其他文件类型的附件通过“添加文件”上传至“公共”文件夹内,这个文件夹默认是开放的,你也可以自己创建文件夹。
4、如何在wordpress文章中引用Windows Live图片?
将图片上传至相册后,点击要引用的图片,会进入一个图片的页面,可以评论图片,这是,再点击图片,就能查看图片了(只显示图片,没有其他东西的页面),此时浏览器地址栏中的地址是图片绝对地址,将此地址复制出来,在WordPress中添加即可。
5、如何在WordPress文章中添加Windows Live附件下载链接?
将非图片文件上传至空间后即可看到该文件,点击进入该文件的评论页面,此时再点击会直接下载,不方便获取绝对地 址来引用,这里有点不方便,但也能获取到,这样操作:IE8和Firefox(需先安装Firebug附加组件)用户,按F12键,如下图1、2、3步点 击,然后复制第3步点击选中的内容(http://public……..?download),就可以引用了,为保证地址正确新,可以先复制到浏 览器地址栏实验一下能否弹出下载窗口。
PS:如果你闲这样的操作麻烦,或者难于获取,那么建议你复制文件页面右下方的嵌入代码,然后进入wordpress文章的HTML编辑,粘贴到合 适的位置,这样会嵌入一个比较好看的文件图片,但用户点击首先会进入Windows Live,再点文件进行下载;如果还有困难,那么,你直接复制文件地址,添加到一个文字链接上面即可。
6、如何替代Wordpress的图片缩略图功能?
如果你需要实现在文章中添加一个缩略图,以加快载入速度,点击打开原图的效果,你可以这样操作:1、使用系统自带的图片编辑软件,将你的图片调整尺 寸为想要的缩略图打小,另存为其他名字;2、将缩略图和原图一起上传至免费空间相册;3、获取2个图片的绝对地址;4、在wordpress中点插入图 片,选从“URL”,将2个图片地址如下图操作即可实现缩略图功能;
将缩略图地址填入图像URL,将原图地址填入图像连接到
给自己的wordpress页面及各文章添加keyword和description
这些天维护小站的时候,通过站长工具查询SEO,发现我的博客没有Keyword和Description,看着空空的就想把它加上,不懂技术、不懂代码的我玩不了php页面,只能Google学习了,通过学习成功添加,下面间方法分享给大家把:
进入wordpress后台,外观>编辑,找到并编辑当前主题的header.php页面,部分主题可能是head.php
将以下代码添加到header.php文件中(先备份下修改前的代码,以免出现问题),各主题的文件都不一样,随便找个地方放进去,最好是顶部。
<?php if (is_home()){
$description = “这里添加你的wordpress简单介绍“;
$keywords = “这里添加关键词,多个用英文逗号隔开“;
} elseif (is_single()){
$description = substr(strip_tags($post->post_content),0,220);
$keywords = “”;
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . “, “;
}
}
?>
<meta name=”keywords” content=”<?=$keywords?>” />
<meta name=”description” content=”<?=$description?>” />
修改保存后,刷新首页看看是否添加成功,再进入某篇文章看看是否添加成功(文章页面的关键词是文章的标签、Description是一段摘要);
用用Windows Live Writer(WLW)向WordPress远程XML-RPC协议发布文章(WLW)向WordPress远程XML-RPC协议发布文章
学习Wordpress过程中,了解到通过一些软件在桌面发布文章的方法,这次向大家分享windows live writer发布的方法,真是简单又方便,感兴趣的朋友可以体验一下。
一、开启Wordpress的远程发布功能
进入WP后台,设置>>撰写,如下图,将远程发布XML-RPC协议勾选上,并保存更改。
二、下载并安装windows live writer(WLW)
1、进入微软官方下载页面下载live程序包,由于微软将好几个软件打包了,所以文件有些大130M,不过安装的时候可以选择只安装WLW,点此新页面进入下载页面>> 另外其他网站提供该软甲下载,文件比较小,但安全不能保证,不推荐;
2、下载完成后,运行安装包,进入选择要安装的程序界面,将不需要的软件取消勾选,然后安装即可;我就想要writer,所以其他都没有安装;
3、安装后,live会自动安装一些微软小软件,例如登录管理器,上传工具等,我都卸载掉了,保留“windows live软件包”就可以;
4、运行安装好的writer,会进入设置引导界面,如下图的步骤设置:
选择日志服务类型为“其他日志服务”;
填写博客访问地址、后台登录用户名及密码;
连网验证,如果提示405错误,那就是你的WP后台设置不正确,需要根据第一步重新设置;
5、设置完成后,即可进入主界面发布文章了,快体验一些吧,添加more标签、链接、图片、相册、表格、地图、标签都可以加。
用XML-RPC协议读写WordPress上的文章
//使用Incutio的XML-RPC库和Blogger API发布文章的例子,其中IXR库也是Wordpress自身所用的库,可以在“wp-includes/class-IXR.php”找到。
<?php
$xmlrpcurl=‘http://blog.bluesky.cn/xmlrpc.php’;
$blogid=‘1’;
$username=‘admin’;
$password=‘pass’;
$postTitle=‘标题’;
$postContent=‘正文内容’;
require(‘class-IXR.php’); // /wordpress/wp-includes/class-IXR.php
$client = new IXR_Client($xmlrpcurl);
$params=array(
”,
‘blog_ID’=>$blogid,
‘user_login’=>$username,
‘user_pass’=>$password,
‘post_content’=>” . $postContent,
‘publish’=>true
);
$params=array_values($params);
$client->query(“blogger.newPost”,$params);
$response=$client->getResponse();
if ($response[‘faultCode’]==0){
print ‘Success’;
} else {
print ‘Fail:’ . $response[‘faultString’];
}
?>
//以下是用XML-RPC for PHP库和metaWeblog接口发布文章的例子。要先下载phpxmlrpc库取出其中的xmlrpc.inc来用。
<?php
include(“xmlrpc.inc”); // 这里要改成xmlrpc.inc所在的路径
$GLOBALS[‘xmlrpc_internalencoding’] = ‘UTF-8’;
define (‘DOMAIN’, ‘blog.bluesky.cn’); // 博客的域名
define (‘BLOGID’, 1); // 博客ID,一般为1
define (‘USER’, ‘admin’); // 博客登录的用户名
define (‘PASSWORD’, ‘pass’); // 博客登录的密码
// 创建 xml-rpc client
$cl = new xmlrpc_client ( “/xmlrpc.php”, DOMAIN, 80);
// 准备请求
$req = new xmlrpcmsg(‘metaWeblog.newPost’);
// 逐个列出请求的参数:
$req->addParam ( new xmlrpcval ( BLOGID, ‘int’)); // 博客ID
$req->addParam ( new xmlrpcval ( USER, ‘string’ )); // 用户名
$req->addParam ( new xmlrpcval ( PASSWORD, ‘string’ )); // 密码
$struct = new xmlrpcval (
array (
“title” => new xmlrpcval ( ‘标题’, ‘string’ ), // 标题
“description” => new xmlrpcval ( ‘正文内容’, ‘string’), // 内容
), “struct”
);
$req->addParam ( $struct );
$req->addParam ( new xmlrpcval (1, ‘int’)); // 立即发布
// 发送请求
$ans = $cl->send($req);
var_dump ( $ans );
?>
//注意一定要加上:$GLOBALS[‘xmlrpc_internalencoding’] = ‘UTF-8’;这一句,否则不能正确处理中文。
//另一段也是用phpxmlrpc库和metaWeblog接口发表文章的例子代码,该代码使用了返回类型为“phpvals”,这样可以直接用返回结果的$r->val来获取文章ID号。
<?php
include(“xmlrpc.inc”);
$GLOBALS[‘xmlrpc_internalencoding’] = ‘UTF-8’;
$c = new xmlrpc_client(“/xmlrpc.php”, “blog.bluesky.cn”, 80);
$content[‘title’]=“标题”; //标题
$content[‘description’]=“正文内容”; //内容
$content[‘mt_keywords’]=“标签1,标签2”; //标签
$content[‘wp_password’]=“”; //文章密码,输入后显示加密
$content[‘categories’] = array(“分类1”,“分类2”); //分类名
$x = new xmlrpcmsg(“metaWeblog.newPost”,
array(php_xmlrpc_encode(“1”), //BLOG ID
php_xmlrpc_encode(“admin”), //用户名
php_xmlrpc_encode(“pass”), //密码
php_xmlrpc_encode($content),
php_xmlrpc_encode(“1”))); //立即发表
$c->return_type = ‘phpvals’;
$r =$c->send($x);
if ($r->errno==“0”)
echo “发表成功,文章序号为:”.$r->val;
else {
echo “出错了”;
print_r($r);
}
?>
//以下是读取最新一篇文章的例子代码:
<?php
include(“xmlrpc.inc”);
$GLOBALS[‘xmlrpc_internalencoding’] = ‘UTF-8’;
$c = new xmlrpc_client(“/xmlrpc.php”, “blog.bluesky.cn”, 80);
$msg = new xmlrpcmsg(‘metaWeblog.getRecentPosts’,
array(php_xmlrpc_encode(“1”),
php_xmlrpc_encode(“admin”),
php_xmlrpc_encode(“pass”),
php_xmlrpc_encode(“1”)) );
$res = $c->send($msg);
$val = $res->value();
$val->arraymem(0)->structreset();
while (list($key, $v) = $val->arraymem(0)->structeach())
{
echo “Element: $key; Type: “.$v->kindOf().“; Value:”.$v->scalarval().“\n“;
}
?>
WordPress通过XML-RPC协议远程发布文章的PHP代码
<?php
require_once(“class-IXR.php”); // 为WordPress安装包内自带的IXR类库文件:wp-includes/class-IXR.php
$client->debug = true; //开发测试时设置为true,api完成上线后改为false
$username = “wordpresswriter”; $password = ‘wppass’; $wpsite = ‘http://www.brandgoods2009.com’; //改成自己的
$xmlclient = $wpsite.“/xmlrpc.php”;
$title = “test title标题”;
$body = ‘ 测试wordpress xmlrpc api的使用方法,正文包括要上传的图片:<img width=”60″ height=”60″ alt=”” src=”/fckUpload/image/test.jpg” />,从数据库中获取该文章后自动定时发布”;
$category = array(“Blogger API”,” MetaWeblog API”,”MovableType API”); //这些分类必须存在,否则需先新建
/*metaWeblog API(metaWeblog.getCategories)获取wordpress文章分类*/
$client = new IXR_Client($xmlclient);
$params = array(0,$username,$password);
if (!$client->query(‘metaWeblog.getCategories‘, $params)) {
die(‘Something went wrong – ‘.$client->getErrorCode().’ : ‘.$client->getErrorMessage());
}
$catarray = $client->getResponse(); // 返回的是数组array
foreach ($category as $cat) {
if (in_array($cat,$catarray)==false){ //依次对比,若不存在则新建wordpress分类
/*新建wordpress文章分类*/
$client = new IXR_Client($xmlclient);
$categ = array(
…..
);
$params = array(0,$username,$password,$categ);
if (!$client->query(‘wp.newCategory‘, $params)) {
die(‘Something went wrong – ‘.$client->getErrorCode().’ : ‘.$client->getErrorMessage());
}
}
}
$keywords = array(“keyword1″,”keyword2″,”keyword3″); //和分类不同,若这些tag标签若不存在,则wordpress发布文章的API metaWeblog.newPost会自动创建。
$kjmy_Post_MinSeconds = 60*60*24*3; //自动定时发布最少时间间隔3天
$kjmy_Post_MaxSeconds = 60*60*24*4; //自动定时发布wordpress文章时间最多间隔4天
$kjmy_Post_Seconds = mt_rand($kjmy_Post_MinSeconds, $kjmy_Post_MaxSeconds); //远方博客定时发布时间范围3~4天
$client = new IXR_Client($xmlclient);
$params = array(0,$username,$password,1);
if (!$client->query(‘metaWeblog.getRecentPosts‘, $params)) {
die(‘Something went wrong – ‘.$client->getErrorCode().’ : ‘.$client->getErrorMessage()); }
elseif ($myresponse = $client->getResponse()) {
$latesturl = $myresponse[0][‘permaLink‘]; echo $latesturl; //返回上一次发表的文章地址
$object = $myresponse[0][‘dateCreated‘]; //返回上一次发表文章日期,为IXR_Date对象
$latestpostdate = …..
else {$latestpostdate = strtotime(date(“Y-m-d H:i:s”));}
$posttime = $latestpostdate+$kjmy_Post_Seconds; //发布时间为举例上一篇发表时间3~4天。
/*以下是上传文件图片的API:metaWeblogNewMediaObject—————————————*/
/*在线上传
if (isset($_FILES[‘kjmy_Poster_File‘][‘tmp_name‘]) && $_FILES[‘kjmy_Poster_File‘][‘tmp_name‘] != “){
if ($_FILES[“kjmy_Poster_File”][“error”] > 0){
echo “Error: ” . $_FILES[“kjmy_Poster_File”][“error”] . “<br />”;
} else {
// 请参考metaWeblogNewMediaObject 及 wp_upload_bits函数。
$name = ….
$type = …..
$bits =…..
}
}
*/
/*检测远方博客数据库文章中是否存在图片,有则上传并替换src地址*/
$imgtag = ‘<img‘;
$srctag = ‘src‘;
$rootpath = $_SERVER[‘DOCUMENT_ROOT‘]; //获取网站根目录的服务器路径
// $pattern = ‘/src=\“(.*?)\”/’;
$pattern = “/<img.+src=(‘|\”|)?(.*)(\\1)([\s].*)?>/ismUe”; //图片代码标签的正则表达式,子模式匹配src地址
if (strpos($body,$imgtag) && strpos($body,$srctag)) {
preg_match_all ($pattern,$body,$matches);
// $newurl = array();
for ($i=0; $i< count($matches[0]); $i++) {
$src = $matches[2][$i];
$imgsrc = $src;
$name = …..
$filesrc = ……
$type = mime_content_type($filesrc); //获取文件类型,php.in需要启用pecl模块
$bits = …….
$data = array(
‘name‘=>….
‘type‘=>…..
‘bits‘=>….
);
// $newurl[$i] = ixrupload($username,$password,$data);
$client = new IXR_Client($xmlclient);
$fileparams = array(0,$username,$password,$data);
if (!$client->query(‘metaWeblog.newMediaObject‘, $fileparams)) {
die(‘Something went wrong – ‘.$client->getErrorCode().’ : ‘.$client->getErrorMessage());
$returnurl=””;
} elseif ($client->getResponse()) {
$response = $client->getResponse();
$returnurl = $response[‘…”]; echo $imgsrc; echo $returnurl;
}
$body = str_replace($imgsrc,$returnurl,$body); //记得给$body赋值
}
}
/*发表文章*/
$content = array(
‘title’=>$title,
‘description’=>$body,
‘mt_allow_comments’=>0, // 1 to allow comments
‘mt_allow_pings’=>0, // 1 to allow trackbacks
‘post_type’=>‘post’,
‘date_created_gmt’=>……..
‘dateCreated’=>$posttime,
‘categories’=>$category,
‘mt_keywords’=>$keywords,
// ‘enclosure’=>$enclosure,这只用于在自定义区域上传音乐等资源,改用metaWeblog.newMediaObject上传
// ‘custom_fields’ => array($customfields)
);
// Create the client object
$client = new IXR_Client($xmlclient);
$params = array(0,$username,$password,$content,true); // Last parameter is ‘true’ which means post immideately, to save as draft set it as ‘false’
// Run a query for PHP
if (!$client->query(‘metaWeblog.newPost’, $params)) {
die(‘Something went wrong – ‘.$client->getErrorCode().‘ : ‘.$client->getErrorMessage());
}
else{
echo “<li>文章《”.$title.“》发表成功</li>”;
}
?>