创建一个带有私人自定义字段 (_customfieldname) 的 WordPress post 不起作用
Create a WordPress post with private custom fields (_customfieldname) not working
我正在使用 WordPressSharp 创建 post,但在创建 post 时无法设置以下划线开头的私有自定义字段值。
我已经阅读了大量关于修改 WordPress 站点上的文件 meta.php
以更改 register_meta
and/or is_protected_meta
的 post,但是仍然没有设法让那些自定义字段来保存我在创建 post.
时传递的数据
using (var client = new WordPressClient(new WordPressSiteConfig
{
BaseUrl = "http://example.com",
Username = "username",
Password = "pass",
BlogId = 1
}))
{
Term t = new Term();
t = client.GetTerm("category", 6);
var terms = new List<Term>();
terms.Add(t);
var customFields = new[]
{
new CustomField
{
Key = "_ct_text_5401d2f94abc9",
Value = "123"
}
};
var post = new Post
{
PostType = "video",
Title = "title",
Content = "description",
PublishDateTime = DateTime.Now,
Status = "draft",
CustomFields = customFields
};
var id = client.NewPost(post);
}
post 已成功创建,没有问题,但为什么私有自定义字段未获取值集?
我尝试过同时使用 XMLRPC 版本 3 和 2.5,这是一个常见的答案,但它不适用于这个特定问题。
居然终于找到了解决问题的方法。我已通过将以下行添加到 functions.php
来取消对自定义字段的保护
add_filter( 'is_protected_meta', '__return_false' );
我不知道这是否是安全方面的最佳解决方案,但它确实有效。
我正在使用 WordPressSharp 创建 post,但在创建 post 时无法设置以下划线开头的私有自定义字段值。
我已经阅读了大量关于修改 WordPress 站点上的文件 meta.php
以更改 register_meta
and/or is_protected_meta
的 post,但是仍然没有设法让那些自定义字段来保存我在创建 post.
using (var client = new WordPressClient(new WordPressSiteConfig
{
BaseUrl = "http://example.com",
Username = "username",
Password = "pass",
BlogId = 1
}))
{
Term t = new Term();
t = client.GetTerm("category", 6);
var terms = new List<Term>();
terms.Add(t);
var customFields = new[]
{
new CustomField
{
Key = "_ct_text_5401d2f94abc9",
Value = "123"
}
};
var post = new Post
{
PostType = "video",
Title = "title",
Content = "description",
PublishDateTime = DateTime.Now,
Status = "draft",
CustomFields = customFields
};
var id = client.NewPost(post);
}
post 已成功创建,没有问题,但为什么私有自定义字段未获取值集?
我尝试过同时使用 XMLRPC 版本 3 和 2.5,这是一个常见的答案,但它不适用于这个特定问题。
居然终于找到了解决问题的方法。我已通过将以下行添加到 functions.php
来取消对自定义字段的保护add_filter( 'is_protected_meta', '__return_false' );
我不知道这是否是安全方面的最佳解决方案,但它确实有效。