创建一个WordPress帖子与私人自定义字段(_customfieldname)无法正常工作

时间:2016-04-11 13:35:27

标签: c# wordpress wordpresssharp

我正在使用WordPressSharp创建帖子,但无法在创建帖子时设置以下划线开头的私有自定义字段值。

我已阅读大量有关修改WordPress网站上的文件meta.php以更改register_meta和/或is_protected_meta的帖子,但仍未设法获取这些自定义字段保存我在创建帖子时传递的数据。

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);
        }

邮件创建成功没有问题,但为什么私人自定义字段没有设置值?

我尝试过使用XMLRPC版本3和版本2.5,这是一个常见的答案,但它并不适用于这个特定问题。

1 个答案:

答案 0 :(得分:2)

实际上终于找到了解决问题的方法。我通过在functions.php

中添加以下行来删除了对自定义字段的保护
add_filter( 'is_protected_meta', '__return_false' ); 

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