這個問題我找了很多資料都沒有明說是如何解決,后來突發奇想得出我的解決方案如下,所以特此記錄一下:

object postId = blogService.NewPost(0,"admin","123456", new {
  post_title = "My post 20130711",
  post_content = "This is my post on 2013/07/13.",
  post_status = "publish",
  post_author = 1,
  terms = new {category = new[]{2}}//這個 2 是我新增的一個名叫“工作日志”的分類ID
});

由于 PHP 的解決方案如下

public function create_post( $title, $body )
{
$title = htmlentities( $title, ENT_NOQUOTES, 'UTF-8' );
$content = array(
'post_type' => 'post',
'post_status' => 'pending',
'post_title' => $title,
'post_content' => $body,
'terms' => array('category' => array( 18 ) ),
'comment_status' => 'closed',
); $params = array( 0, $this->username, $this->password, $content );
return $this->send_request( 'wp.newPost', $params );
}
我對PHP的認識只是知道它是一種面向對象的語言,其它的就一概不知了,所以我要如何將這 PHP 通過XML-RPC 轉到 C# 下用呢?
從這個問題讓我聯想到 PHP 的 array 可以是一個「對象」又是一個數組,而不象個別資料所說是 「字典類型」。實踐證明我的想法是對的,接下來就要測試發附件的功能了~~~~
 
 
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
目录:

WordPress在3.4版本中加入了XML-RPC WordPress API系列的xml-rpc函数,这里使用Python作为说明的语言,调用这套接口发布包含分组(category)或者标签(tag)内容的时候,会碰到401错误

抱歉,文章类型不支持您的分类法。

对应于Wordpress源代码wp-includes/class-wp-xmlrpc-server.php中的原始错误为:

Sorry, one of the given taxonomies is not supported by the post type.

这个错误实际上是在调用Wordpress API时给出的分组信息错误,wp.newPost的文档中关于terms的定义是这样的:

WordPress terms 结构体

  • struct terms: Taxonomy names as keys, array of term IDs as values.
  • struct terms_names: Taxonomy names as keys, array of term names as values.

这里两个东西的定义很隐晦,但仔细想想还是能搞定的。

  • struct terms:Taxonomy names as keys, array of term IDs as values,这两个关键字(key, value)暗示着terms是一个字典类型的结构体,Taxonomy names作为关键字,term IDs数组作为对应的值。
  • struct terms_names: Taxonomy names as keys, array of term names as values,这两个关键字(key, value)暗示着terms_names是一个字典类型的结构体,Taxonomy names作为关键字,term names数组作为对应的值。

WordPress Taxonomy 是什么

Taxonomy简单来说是一种组织内容的方法,常用的taxonomy名称有

  • category‘(分类目录)
  • post_tag‘(标签)
  • link_category‘(链接分类目录)

Python中如何定义terms

在Post的结构体中如果定义了

'terms':{'category':[4]}

则表示这篇文章的分类目录ID是4,同样,可以使用

'terms_names':{'category':["Wordpress"]}

来表示这篇文章的分类目录为Wordpress.

終于解決调用wordpress 4.3 xmlrpc api 发布包含分类的文章时返回“抱歉,文章类型不支持您的分类法”错误的問題的更多相关文章

  1. the project already contains a form or module named pcm001怎麼解決

    the project already contains a form or module named pcm001怎麼解決 菜单Project -> Remove from project.. ...

  2. 优化のzen cart调用WordPress

    zen cart调用wordpress博客系统文章的方法 zencart根目录下新建blog 解压wp进去然后 wp-admin 安装 数据库共用 之前将wordpress和zencart整合起来 是 ...

  3. 解決從Ubuntu 12.04升級至12.10之後的Unity顯示問題

    FROM: http://blog.sina.com.cn/s/blog_97ef3ff4010190pe.html#bsh-75-306370781 今天中午經過系統自帶的“檢查更新”軟件從Ubun ...

  4. 如何解決 Homebrew Update 失敗?

    相信許多用 MAC 系統的程式設計師.工程師們都有用 Homebrew 這個超好用的 Open Source 套件管理程式吧? 如果沒有的話,你可以透過以下的指令安裝: ruby -e "$ ...

  5. jQuery Validate + Ckeditor 驗證 textarea 解決方式

    jQuery Validate + Ckeditor 驗證 textarea 解決方式 html <textarea name="content" id="cont ...

  6. 何解決 LinqToExcel 發生「無法載入檔案或組件」問題何解決 LinqToExcel 發生「無法載入檔案或組件」問題

    在自己的主機上透過 Visual Studio 2013 與 IISExpress 開發與測試都還正常,但只要部署到測試機或正式機,就是沒辦法順利執行,卡關許久之後找我協助.我發現錯誤訊息確實很「一般 ...

  7. 記錄一次CRS-0184: Cannot communicate with the CRS daemon的解決

    1. 描述: 使用crs_stat –t 命令查看rac服務,直接報CRS-0184: Cannot communicate with the CRS daemon.錯誤 但是奇怪的是我們的DB是沒有 ...

  8. Oracle12c client安裝報錯[INS-20802] Oracle Net Configuration Assistant failed完美解決

    Doc ID 2082662.1 1.錯誤碼 Installation Of Oracle Client 12.1.0.2.0 (32-bit) Fails With An Error Message ...

  9. 【转载】详解CreateProcess调用内核创建进程的过程

    原文:详解CreateProcess调用内核创建进程的过程 昨天同学接到了腾讯的电面,有一题问到了CreateProcess创建进程的具体实现过程,他答得不怎么好吧应该是, 为了以防万一,也为了深入学 ...

随机推荐

  1. [转]无网络环境,在Windows Server 2008 R2和SQL Server 2008R2环境安装SharePoint2013 RT

    无网络环境,在Windows Server 2008 R2和SQL Server 2008R2环境安装SharePoint2013 RT,这个还有点麻烦,所以记录一下,下次遇到省得绕弯路.进入正题: ...

  2. java web 程序---内置对象application的log方法的使用

    application的主要方法里,有log方法,是日志文件里可以查看到信息的. 当老师写好代码后,他发现在tomact里的log目录下找不到信息,原因是:我们用myeclipse这个客户端软件,应该 ...

  3. Java File文件操作 创建文件\目录,删除文件\目录

    Java手册 java.io 类 File java.lang.Object java.io.File 所有已实现的接口: Serializable, Comparable<File> p ...

  4. arm-linux-gcc配置安装

    1.首先去下载arm-linux-gcc压缩包 https://pan.baidu.com/s/15QLL-mf0G5cEJbVP5OgZcA 密码:ygf3 2.把压缩包导入到Linux系统:htt ...

  5. ScheduledExecutorService 定时器用法

    1,如果只是想简单的写个定时任务,比如10分钟跑一次,那么ScheduledExecutorService是比较方便的,下面举个简单的例子 import java.util.concurrent.Ex ...

  6. 生成式对抗网络(GAN)

    生成对抗网络(GAN),是深度学习模型之一,2014年lan Goodfellow的开篇之作Generative Adversarial Network, GAN概述 GAN包括两个模型,一个是生成模 ...

  7. 第4课 Hello QT

    1. QT的安装 (1)双击:qt-opensource-windows-x86-mingw492-5.6.0.exe (2)安装过程中指定QT Creator安装目录下的mingw文件夹 (3)设置 ...

  8. icape3 的使用

    在FPGA中,有时需要使用用户代码重配置FPGA,配置的内容可以是flash或者是其他的来源这样FPGA的启动模式有关,在本实验中配置文件是存放在flash中.实际的操作步骤如下: 1:生成一个工程, ...

  9. Mysql 性能分析 Explain

    Mysql Query Optmize: 查询优化器, SQL语句会给Query Optimize他会执行他认为最优的方式.. Mysql 常见问题 CPU饱和,IO磁盘发生在装入数据大于内存时. E ...

  10. Git----时光穿梭机之撤销修改05

    自然,你是不会犯错,不过现在是凌晨两点,你正在赶一份工作报告,你在readme.txt中添加了一行: $ cat readme.txtGit is a distributed version cont ...