我目前使用从邓肯寺郎RWordpress-package和好一会谢knitr-package产生直接从R.博客文章对于正常工作正式职位,但是我想生成与预先定制的后类型职位。通过knit2wp我似乎只产生一个有规律的新职位,编辑已经发布的帖子或产生了新的一页。
如果我想写个帖子用手我想WordPress的,后端内访问的网页。对于一个普通的职位,将
https://www.your-wordpress.blog/wp-admin/post-new.php
对于定制后,这将是
https://www.your-wordpress.blog/wp-admin/post-new.php?post_type=custom
所以我的建议是,我要送与发送过来knitr的knit2wp功能操作参数的一些额外的信息。
knit2wp的函数调用的定义如下:
knit2wp(input, title = "A post from knitr", ..., envir = parent.frame(),
shortcode = FALSE, action = c("newPost", "editPost", "newPage"), postid,
encoding = getOption("encoding"), publish = TRUE)
通过定义发送到WordPress的论点之后
WPargs = list(content = list(description = content, title = title,
...), publish = publish)
调用本身是做:
do.call("library", list(package = "RWordPress", character.only = TRUE))
do.call(action, args = WPargs)
信息Wordpress提供提示我在所谓的外壳一个结构域。我的想法是这样,包括列表命名的外壳:
WPargs = list(content = list(description = content, title = title,
...), enclosure = list(type = "custom"), publish = publish)
这不幸导致的错误信息:
unused argument (enclosure = list(type = "custom", categories = c("test1", "test2"), wp_post_thumbnail = 12345))
我以为我可以正确地包含的类型后,如果我修改从XMLRPC包几个电话,但我不知道从哪里开始。是否有人有任何想法如何在WordPress的经由R个职位产生的自定义类型?
也许不是直接的答案,但我找到了解决方案使用curl的命令(CF Media Api Reference of WordPress)。这样一来我发送的命令只是作为一个系统调用。我连接几个字符串到一个curl命令,如:
header<- "--header 'Authorization: Basic your_token_here'"
title<- "'title=Some title here'"
excerpt<- "-d 'Some excerpt here'"
url <- "-d 'slug=some-customized-url-structure-here'")
command<-paste("curl ",header," -X POST -d ",title," -d 'status=publish' -d 'categories=12345' -d 'content= here goes the content' -d 'featured_media=xxxyyy' -d 'author=zzzz' ",url," ",excerpt," https://www.your-ur.l/wp-json/wp/v2/customized_structure_update",sep="")
如果我再火起来
system(command)
一切工作正常。