code

카테고리를 포스트 워드프레스에 관련짓는 방법

starcafe 2023. 2. 16. 21:55
반응형

카테고리를 포스트 워드프레스에 관련짓는 방법

워드프레스에서 자동 투고를 작성하는 기능을 만들고 있습니다.현재 이 기능은 워드프레스 블로그 투고를 생성하지만 카테고리에 들어갈 수 없습니다.

    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

반응형