通过代码在WordPress里插入各种数据
今天介绍的是一些通过代码编写,在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数组里的参数包括:
插入评论在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()一样,也是以数组作为参数:
为某篇文章添加分类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()函数。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |