kangkangblog

Menu

wordpress插件踩坑

起因

还记得那年大明河畔的文章丢失吗!
由于我的博客是使用wordpress的,所幸wordpress功能非常强大。
我就在想,如果在我 发布文章的同时 进行文章同步到不同平台(印象笔记有道云等那该多好)。事不宜迟

有什么办法可以实现?

很简单呀,wordpress的插件,我想就能实现我们的梦想。
之前我是开发过wordpress模板的。模板的难度一般,就是在适当的地方用合理的函数进行模板渲染。
重要的是对wordpress提供的内置api函数使用上。

论插件开发

wordpress 插件都存放在wp-content/plugin文件夹内
如何开发一个wordpress插件

看文档我们可以知道
一个标准的wordpress插件需要有一个文件信息头,一个版权协议信息做头部
文件信息头用来做读取插件信息的方式

<?php
/*
Plugin Name: 插件名称
Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
Description: 插件的简单描述
Version: 插件版本号, 例如: 1.0
Author: 插件作者
Author URI: http://URI_Of_The_Plugin_Author作者地址
*/
?>

我的这个插件的定位是自己使用。

插件的主要点

  1. 利用WordPress插件钩子

wordpress 插件钩子有很多的方法供我们使用。在对应的wordpress动作插入我们想要的处理函数是一个很快捷的实现方式

do_action('wordpress插件hookname','functionname')

需要注意的是处理函数接收的是什么值,可能是id可能是一个对象

保存插件信息到数据库

  1. 使用WordPress的"选项"机制(稍后会有介绍)。这种方式适合储存少量静态的、具有特定名称的数据——这类数据通常是网站所有者在创建插件时设置的一些初始化参数,并且以后很少会进行改动。
  2. 使用文章元数据(又名自定义域)。这种方式适合保存与个人文章、页面或附件相关的数据。若需要了解更多,请参阅post_meta函数示例,以及与add_post_meta()相关的函数。
  3. 使用自定义分类。这种方式适合保存那些需要分门别类存放的数据,如用户信息、评论内容以及用户可编辑的数据等,特别适合于当你想要根据某个类型去查看相关的文章和数据的情况。若需要了解更多,请参阅Custom Taxonomies。
  4. 创建一个新的,自定义的数据库表。这种方式适合保存那些与个人文章、页面或附件无关的,会随着时间逐渐增长的,并且没有特定名称的数据。关于如何使用,你可以阅读Creating Tables with Plugins以获取更多信息。

选项

add_option($name, $value, $deprecated, $autoload);

注意

我们的插件不应该对数据库有过多的读写操作。写入操作往往消耗很大。频繁的读操作,也是极为占用。所以建议是多值一次读取操作修改。

Final

最后我们理一下这个同步文章信息的插件如何做

  1. 创建一个插件文件
  2. 规范写入信息头等
  3. do_action 使用适当的wordpress插件钩子
  4. 利用选项保存我们的信息(不同平台的开发者api auth值)
  5. 在对应的钩子函数中使用对应的方法

do_action => 触发函数 ---> 读取保存的开发者api key ===> 调用不同平台api ==> 同步成功

总结

这种方法是一个很简单的使用wordpress插件的方式。(wordpress文章发布hookname publish_post)
也是实现同步文章信息的方法。在不同的平台上同步自己的文章,可以有助于保存文章。
本文更大的思路在于,有时候有些东西想了就等于能做了。
申请各平台的api不用讲解了。

链接

如何制作一个插件
插件api

— 于 共写了1547个字
— 文内使用到的标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注