WordPress插件: post2Qzone – 文章同步发送到QQ空间

Categories: Development NotesWordPress; Tagged with: ; @ October 9th, 2010 1:03

2013.1.13 更新:

默认使用SSL进行发送; 同时修正了部分已知bug.

2010.11.12 Update

注意:  本插件需要远程登陆到QQ邮箱才能正常同步, 因此, 如果您的主机无法连接到QQ邮箱, 就会出现同步失败 – 此种情况下, 您需要暂时禁用本插件.

近日我的LP Star主机也无法访问QQ邮箱, 因此正在寻找其他解决方案中, 如果您的插件已无法正常工作, 请暂时停用本插件, 日后有更新时再启用. 谢谢.


假期在家窝出来的, 第一次写插件, 测试了一段时间, 感觉应该没问题了, 今天发一下. 希望能对你有用.

基本功能

在Wordpress新增文章时自动发布到Qzone, 你可以通过后台设置:

  • 设置新文章的发布目录(如果Qzone中目录不存在会自动创建)
  • 设置文章前缀/后缀
  • 设置抄送邮箱

Post2Qzone 插件主页: http://wordpress.org/extend/plugins/post2qzone/

使用指南(2分钟即可完成配置)

1. 自动安装插件

WordPress后台>Plugins>Add New> Search: by Tag, 使用关键字: “qzone”搜索, 将会得到:
image

(分是我自己评的…嘿嘿)点击Install Now自动安装, 安装完毕后激活插件

2. 配置信息

进入Setting > Post2Qzone页面:

image

除了登录信息为必填之外, 其他选项均为选填. 配置完毕后点击”保存”.

3. 使用

在发布文章 – 包括使用WP后台或其他离线写作软件如: Windows Live Writer 发布文章之后,  将会自动发布到Qzone上, 同时如果填写了抄送邮箱, 该邮箱也会收到一份拷贝.

4. 其他

1.  为什么要提供QQ号及密码

使用Email发布日志到Qzone, 需要使用自己的QQ邮箱进行发送, 因此必须填写正确的QQ号及密码. 本插件基于PHPMailer编写,  QQ密码仅用于在您的服务器上登陆QQ邮箱服务器, 不会泄露, 请放心.

2. 如果发布失败怎么办?

1. 首先检查QQ邮箱的发信状态及登录状态, 查看是否在文章发布后进行过登录及发邮件的操作, 如果没有请进行第二步:
2. 进入Plugin>Editor, 编辑Post2Qzone, 将文件首部的$debug变量设置为true, 然后使用Wordpress后台编写并发布新文章, 点击发布后会显示发送的详细情况, 你可通过查看该信息已获得进一步的帮助.

附录:有图有真相

1. Windows Live Writer发布新文章:

image

2. QQ空间已发布:

image

Over.

WordPress插件: Post2Qzone 同步发表到QZone

Categories: WordPress; Tagged with: ; @ October 6th, 2010 23:56

插件名称: post2Qzone

简介:

目的很简单: 将文章更新通知到QZone, 以便与QQ好友分享.

post2Qzone是一款将新Post同步发表到Qzone的小插件. 可将新文章同步发布到Qzone的制定目录(无对应目录会自动创建), 支持使用Windows Live Writer发布, 并可同时抄送到指定邮箱.

使用:

进入后台插件管理, 搜索”qzone”(搜索类别选Tag), 自动安装并启用插件
进入设置> Post2Qzone设置QQ邮箱信息
参考安装图文教程:  http://liguoliang.com/2010/post2qzone/

使用:

在使用之前, 请确保QQ邮箱已开启SMTP服务, 开启位置: QQ邮箱的 设置> 账户 配置页面.

WordPress Debug – 查看Query执行的SQL语句

Categories: Development NotesPHPWordPress; Tagged with: ; @ July 20th, 2010 8:58

有时Query不到东西, 怀疑SQL执行有问题时, 可在Query.php适当位置加入Print进行Debug.

(more…)

WordPress Get Post by Slug(post_name)

Categories: Development NotesPHPWordPress; Tagged with: ; @ July 19th, 2010 20:43

需求: 依照Slug获得Post.

解决方案: API只有getPost(by ID), 我们要创建一个getPostBySlug. (Slug具有唯一性, 可参见表wp_posts,post_name 及有关代码)

(more…)

WordPress的setup_postdata($post)与PartialObject

Categories: Development NotesWordPress; Tagged with: ; @ July 18th, 2010 0:33

如果谈绿色, 谈低碳, 那我们公司做的, 那叫一个环保集约, 举例来说: 几乎所有的数据load, 都是lazy的(PartialObject). 譬如:

你要显示一个新闻列表, 那数据库发来得只有连接给标题, 没有内容啊 附件啊, 等你要打开显示详情了, 再去load. 出于这么一个环保节约的理念, 今天在研究Wordpress文档时惊讶的发现, 哇, wp也很环保呀, 试看:

Some post-related data is not available to get_posts by default, such as post content through the_content(), or the numeric ID. This is resolved by calling an internal function setup_postdata(), with the $post array as its argument.

我们天真的以为wp也很环保啊, 我英文也不球行, 以为是lazy的, 于是在只想做个新闻列表的时候不想load content. 但是来回翻了几遍代码, 发现没有处理PartialObject的地方!

我们老板比较熟悉PHP, 在qury.php中发现了猫腻, 加了个debug打印, 抓图奉上:

image 

请看仔细: 是Select wp_posts.*, 也就是说, 虽然只想打印一个Recent Posts, 但从数据库load的时候, 你会load他的标题, 作者, 时间, 内容(MySql类型为: longtext) — 当然这只是从数据库load到服务器, 并不一定直接表现在网页上, 但在如果流量极大的情况下, 如此频繁并剧烈的Select, 相比会大大延缓速度.

如果wp一直这样load数据, 那必须得用cache了.

也就是说, 数据是一次load全部的, setup_postdata($post)只是设定值,而不是读取完整的对象,

对于get_posts()后, 取得post Attribute的方法:

文档中要求:

1。 要使用形如get_the_ID(), get_the_title()等方法, 需要先进行setup_postdata($post)

2。 或者直接使用形如: $post->ID, (注意Column名要写对)

从此处推理或从代码中搜索亦可印证: setup_postdata($post)作用只是对数据库读取的值进行处理,以便使用get_the_ID()等方式直接获取Attribute.

 

对于普通用户来讲:

用越多的Recent, Related, Random的Post会成倍增加SELECT的数量与对数据库的压力(当然, 前提是你博客流浪巨大的情况下, 如果只是跟本站一般低迷, 就不需要考虑这么多了)

 

废话一句: qury.php里的method好长啊

Newer Posts <-> Older Posts



// Proudly powered by Apache, PHP, MySQL, WordPress, Bootstrap, etc,.