创建一个带有私人自定义字段 (_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' ); 

我不知道这是否是安全方面的最佳解决方案,但它确实有效。