카테고리를 포스트 워드프레스에 관련짓는 방법
워드프레스에서 자동 투고를 작성하는 기능을 만들고 있습니다.현재 이 기능은 워드프레스 블로그 투고를 생성하지만 카테고리에 들어갈 수 없습니다.
public class Post
{
public string Title { get; set; }
public string Description { get; set; }
public string PostType { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateCreatedGmt { get; set; }
public List<string> Categories { get; set; }
public List<string> MtKeywords { get; set; }
public string MtExcerpt { get; set; }
public string MtTextMore { get; set; }
public string MtAllowComments { get; set; }
public string MtAllowPings { get; set; }
public string WpSlug { get; set; }
public string WpPassord { get; set; }
public string WpAuthorId { get; set; }
public string WpAuthorDisplayName { get; set; }
public string PostStatus { get; set; }
public string WpPostFormat { get; set; }
public bool Sticky { get; set; }
public List<CustomFields> CustomFields;
public Enclosure Enclosure;
}
오류를 피하기 위해 먼저 클래스로 이동하여 카테고리 이름만 전달하려고 했습니다.
var wordpress = XmlRpcProxyGen.Create<IWordpress>();
Category[] categories= wordpress.getCategories(0, username, password);
투고 카테고리를 작성하는 메서드는 파라미터로 수신합니다.이 메서드는 클래스 Post에 속합니다.카테고리는 다음과 같이 투고에 삽입됩니다.
Categories.Add(category.categoryName);
누가 나 좀 도와줄래?이 코드를 너무 많이 봐서 어디가 잘못되었는지 알 수 없습니다.
Post의 속성은 문서 http://codex.wordpress.org/XML-RPC_MetaWeblog_API#metaWeblog.newPost에서 입수했습니다.Cook Computing을 사용하고 있습니다.XmlRpc - http://xml-rpc.net/ - 버전 2.5.0
질문을 올린 후에 깨달은 것은 카테고리의 취급이 얼마나 잘못되었는가 하는 것입니다.
투고를 배치하기 위해 다음을 작성합니다.
class MetaWeblogClient : XmlRpcClientProtocol
{
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct Post
{
public DateTime dateCreated;
public string description;
public string title;
public string[] categories;
public string permalink;
public string postid;
public string userid;
public string wp_slug;
}
또한 다음 위치에서 속성을 초기화합니다.
public void newPost(string userid, string password, string description, string title)
{
this.Url = "http://#########.wordpress.com/xmlrpc.php";
Post post = new Post();
post.categories = new string[1];
post.categories[0] = "Category Name";
post.dateCreated = DateTime.Now;
post.userid = userid;
post.description = description;
post.title = title;
newPost("0", userid, password, post, true);
}
[XmlRpcMethod("metaWeblog.newPost")]
public string newPost(string blogid, string authorId, string password, MetaWeblogClient.Post string description, bool publish)
{
//return string postid
return returnPostId = (string)this.Invoke("newPost", new Object[] { blogid, authorId, password, description, publish });
}
제 실수는 어레이 카테고리의 초기화에 관한 것이 아니었습니다.위의 구조가 올바르지 않으므로 제 코드에서 삭제하겠습니다.
들어주셔서 감사합니다.
다른 방법으로 wp.newPost 메서드를 사용할 수 있습니다.
http://codex.wordpress.org/XML-RPC_WordPress_API/Posts#wp.newPost
이것은 카테고리 대신 '택시노믹스'를 사용한다.
분류법(카테고리)을 지원하기 위해 현재 JoeBlogs Wordpress 래퍼를 업데이트 중입니다.
https://github.com/alexjamesbrown/joeblogs
언급URL : https://stackoverflow.com/questions/12887997/how-to-associate-a-category-to-a-post-wordpress
'code' 카테고리의 다른 글
Wordpress Rest API를 사용하여 현재 로그인 사용자를 얻는 방법은 무엇입니까? (0) | 2023.02.16 |
---|---|
스프링 리다이렉트 속성: addAttribute() vs addFlashAttribute() (0) | 2023.02.16 |
jquery Ajax 호출 - 데이터 매개 변수가 MVC 컨트롤러 작업으로 전달되지 않습니다. (0) | 2023.02.16 |
JSON 필드 이름을 다른 개체 필드 이름에 매핑하려면 어떻게 해야 합니까? (0) | 2023.02.12 |
주의: ob_end_flush(): zlib 출력 압축(1)의 버퍼를 전송하지 못했습니다. (0) | 2023.02.12 |