C#WordPressSharp发布文章时分类和标签的使用

文章Tag 标签的创建关键在于必须先判断该标签是否存在,如果已经存在是无法添加成功的。另外该标签的 ID 是必须的。

           // ==== 建立连接 ==== 
            var client = new WordPressClient(new WordPressSiteConfig
            {
                BaseUrl = "http://www.guihet.com/",
                Username = "123456",
                Password = "123456",
                BlogId = 1
            });
           // ==== 处理Tag标签 ==== 
            List<Term> termList = new List<Term>();//定义一个集合用于暂时存放Term
            var t = new Term() { 
                Taxonomy = "post_tag", //post_tag表示标签,category表示分类
                Name = "test" //
            }; 
            var terms = client.GetTerms("post_tag", new TermFilter() { Search = t.Name }); 
            
            if (terms == null)
            {  
                var term_id = client.NewTerm(t);
                t.Id = term_id;
            }
            else
            {
                foreach (var term in terms)
                {
                    if (term.Name == t.Name)
                    {
                        t.Id = term.Id; // 如果标签存在,取同名标签的ID
                    }
                }
                if (t.Id == null)
                {
                    t.Name = t.Name;
                    var term_id = client.NewTerm(t);
                    t.Id = term_id;
                }
            }
            termList.Add(t);//添加到集合中,可以添加多个
           // ==== 发布 ==== 
            Post post = new Post
            {
                Title = "标题",
                PostType = "post",
                PublishDateTime = DateTime.Now,
                Content = "黑鸟博客成立于2018年 ..",
                Terms = termList.ToArray(),
                //Terms = new Term[] { t, client.GetTerm("category", 8) },
                Status = "publish",
            };
            MessageBox.Show(client.NewPost(post));

Term中可以添加Slug,即别名,但不是必须的参数。一般用于显示网址会好看点,不会因为中文转码后一堆符号看不懂,例如Slug = “testTag”

文章分类category一般情况只有固定的几个,发布文章的时候选一个就好,添加分类跟添加Tag的方法是一样的,都是 Term 对象。

 var tf = new Term { Id = 8, Taxonomy = "category", };//只要ID就可以了
//或者var tf =  client.GetTerm("category", 8)
 termList.Add(tf);

分类的 ID 号可以在Wordpress后台查看。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

  1. 趣知识 趣知识 说道:

    好久没用C#了,感觉还是很亲切