程序员人生 网站导航

通过代码在WordPress里插入各种数据

栏目:WordPress时间:2014-06-20 04:34:35

今天介绍的是一些通过代码编写,在WordPress博客里添加各种数据(比如日志、评论、分类等)的简单方法。

插入文章

在WordPress里插入一篇文章非常简单。要用到的是wp_insert_post()函数,这个函数以数组作为参数。

如果你想试验一下这个函数,可以把下面的代码复制到functions.php文件。

global $user_ID;$new_post = array(    'post_title' => 'My New Post',    'post_content' => 'Lorem ipsum dolor sit amet...',    'post_status' => 'publish',    'post_date' => date('Y-m-d H:i:s'),    'post_author' => $user_ID,    'post_type' => 'post',    'post_category' => array(0));$post_id = wp_insert_post($new_post);

$new_post数组里的参数包括:

  • post_title: 所插入文章的文章名
  • post_content: 所插入文章的内容
  • post_status: 文章的发表状态(已发布、草稿等)
  • post_date: 以date()为日期或另行自定义日期
  • post_author: 文章作者ID
  • post_type: 可以是日志、页面或其他自定义文章类型
  • post_category: 分类ID数组

插入评论

在WordPress里插入评论也相当容易。同样是把下面的代码复制到functions.php文件。

$data = array(	'comment_post_ID' => 1,	'comment_author' => 'admin',	'comment_author_email' => 'admin@admin.com',	'comment_author_url' => 'http://www.catswhocode.com',	'comment_content' => 'Lorem ipsum dolor sit amet...',	'comment_author_IP' => '127.0.0.1',	'comment_agent' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; fr; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3',	'comment_date' => date('Y-m-d H:i:s'),	'comment_date_gmt' => date('Y-m-d H:i:s'),	'comment_approved' => 1,);$comment_id = wp_insert_comment($data);

wp_insert_comment()函数和wp_insert_post()一样,也是以数组作为参数:

  • comment_post_ID: 被评论文章的ID
  • comment_author:评论作者名
  • comment_author_email: 评论作者的Email地址
  • comment_author_url: 评论作者的网址
  • comment_content: 评论内容
  • comment_author_IP: 评论作者的IP地址
  • comment_agent: 评论者浏览器的用户代理
  • comment_date: 评论发表日期
  • comment_date_gmt: 评论的GMT时间
  • comment_approved: 评论是否已被审核?1为已审核,0为待审核

为某篇文章添加分类

WordPress的内置函数wp_set_object_terms()可以将文章添加到各分类中。

我们需要做的就是创建一个数组,数组里包含需要添加的分类ID,然后:

$category_ids = array(4, 5, 6);wp_set_object_terms( $post_id, $category_ids, 'category'); 

wp_set_object_terms()用了三个参数:文章ID, 分类ID的数组、分类类型(此处为"category")

为某篇文章添加标签

添加标签甚至不需要用到新函数,wp_set_object_terms()函数同样可以实现添加标签的效果。

$tag_ids = array(7, 8, 9);wp_set_object_terms( $post_id, $tag_ids, 'post_tag'); 

文章发表时自动生成自定义字段

在文章发表时自动生成自定义字段会为我们节省很多时间。

依然是把下面的代码复制到functions.php文件,然后发表新文章时,就会有自动生成的自定义字段了。

function add_custom_field_automatically($post_ID) {	global $wpdb;	if(!wp_is_post_revision($post_ID)) {		add_post_meta($post_ID, 'field-name', 'custom value', true);	}}add_action('publish_page', 'add_custom_field_automatically');add_action('publish_post', 'add_custom_field_automatically'); 

原理:首先生成一个函数。该函数用以确认新发表文章不是某篇旧文的修改版,然后添加一个自定义字段,字段名为field-name,字段值为custom value。之后,调用一个hook来确保每当新文章或者新页面发布时都会调用add_custom_field_automatically()函数。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐