NAME
WordPress::XMLRPC
DESCRIPTION
Interaction with xmlrpc.php as client.
XML RPC METHODS
getPage()
takes 1 args: page_id (number)
returns page hashref struct(ure)
example return:
$val: {
categories => [
'Uncategorized'
],
dateCreated => '20080121T12:38:30',
date_created_gmt => '20080121T20:38:30',
description => 'These are some interesting resources online.',
excerpt => '',
link => 'http://leocharre.com/perl-resources/',
mt_allow_comments => '0',
mt_allow_pings => '0',
page_id => '87',
page_status => 'publish',
permaLink => 'http://leocharre.com/perl-resources/',
text_more => '',
title => 'Resources',
userid => '2',
wp_author => 'leocharre',
wp_author_display_name => 'leocharre',
wp_author_id => '2',
wp_page_order => '0',
wp_page_parent_id => '0',
wp_page_parent_title => '',
wp_password => '',
wp_slug => 'perl-resources'
}
This is the same struct hashref you would send to newPage()
getPages()
returns array ref each element is a hash ref same as getPage() returns. If you want less info, just basic info on each page, use getPageList()
newPage()
takes 2 args: page (hashref), publish (boolean) you can leave out publish, as discussed further in this documentation. the hashref must have at least a title and description returns page id (number, assigned by server).
deletePage()
takes 1 args: page_id (number) returns boolean (true or false)
editPage()
takes 2 args: page (hashref), publish(boolean) the page hashref is just as discussed in getPage()
you could use getPage(), edit the returned hashref, and resubmit with editPage()
my $page_hashref = $o->getPage(5);
$page_hashref->{title} = 'This is the New Title';
$o->editPage($page_hashref) or die( $o->errstr );
obviously the page id is in the page data (hashref), this is there inherently when you call getPage().
The same would be done with the posts.
getPageList()
returns array ref each element is a hash ref this is sort of a short version of getPages(), which returns all info for each.
example return:
$return_value: [
{
dateCreated => '20061113T11:08:22',
date_created_gmt => '20061113T19:08:22',
page_id => '2',
page_parent_id => '0',
page_title => 'About Moi'
},
{
dateCreated => '20080105T18:57:24',
date_created_gmt => '20080106T02:57:24',
page_id => '43',
page_parent_id => '74',
page_title => 'tree'
},
]
getAuthors()
takes no argument returns array ref, each element is a hashref
$return_value: [
{
display_name => 'leo',
user_id => '2',
user_login => 'leo'
},
{
display_name => 'chamon',
user_id => '3',
user_login => 'chamon'
}
]
getCategories()
takes no argument
$return_value: [
{
categoryId => '4',
categoryName => 'art',
description => 'art',
htmlUrl => 'http://leocharre.com/articles/category/art/',
parentId => '0',
rssUrl => 'http://leocharre.com/articles/category/art/feed/'
},
{
categoryId => '1',
categoryName => 'Uncategorized',
description => 'Uncategorized',
htmlUrl => 'http://leocharre.com/articles/category/uncategorized/',
parentId => '0',
rssUrl => 'http://leocharre.com/articles/category/uncategorized/feed/'
}
]
newCategory()
takes 1 args: category (string) returns category id (number)
suggestCategories()
takes 2 args: category, max_results
returns array ref, each element is a hashref (not sure what this is for)
uploadFile()
takes 1 args: data data is a hash ref, see WordPress::MediaObject
newPost()
takes 2 args: content_struct, publish returns id number of new post
editPost()
takes 3 args: post_ID, content_struct, publish returns boolean, true or false
getPost()
takes 1 args: post_ID returns post struct, hashref
$example_return_value: {
categories => [
'Uncategorized'
],
dateCreated => '20080130T14:19:05',
date_created_gmt => '20080130T22:19:05',
description => 'test description here',
link => 'http://leocharre.com/articles/test_1201731544/',
mt_allow_comments => '1',
mt_allow_pings => '1',
mt_excerpt => '',
mt_keywords => '',
mt_text_more => '',
permaLink => 'http://leocharre.com/articles/test_1201731544/',
postid => '119',
title => 'test_1201731544',
userid => '2',
wp_author_display_name => 'leocharre',
wp_author_id => '2',
wp_password => '',
wp_slug => 'test_1201731544'
}
getRecentPosts()
takes 1 args: num_posts (number, optional)
returns array ref each element is hash ref same as getPost() would return
getCategories()
$return_value: [
{
categoryId => '4',
categoryName => 'art',
description => 'art',
htmlUrl => 'http://leocharre.com/articles/category/art/',
parentId => '0',
rssUrl => 'http://leocharre.com/articles/category/art/feed/'
},
{
categoryId => '6',
categoryName => 'cool linux commands',
description => 'cool linux commands',
htmlUrl => 'http://leocharre.com/articles/category/cool-linux-commands/',
parentId => '0',
rssUrl => 'http://leocharre.com/articles/category/cool-linux-commands/feed/'
}
]
newMediaObject()
takes 1 args: data (hashref) See WordPress::MediaObject
getTemplate()
takes 1 args: template
setTemplate()
takes 2 args: content, template
getUsersBlogs()
no argument, terutns users blogs example return :
$r: [
{
blogName => 'leo charre',
blogid => '1',
isAdmin => '1',
url => 'http://leocharre.com/'
}
]
deletePost()
argument is post id(number) returns boolean
METHODS
xmlrpc_methods()
returns array of methods in this package that make calls via xmlrpc
server_methods()
returns array of server methods accessible via xmlrpc.
username()
Perl set/get method. Argument is string. If you pass 'username' to constructor, it is prepopulated.
my $username = $o->username;
$o->username('bill');
password()
Perl set/get method. Argument is string. If you pass 'password' to constructor, it is prepopulated.
my $pw = $o->password;
$o->password('jim');
proxy()
Perl set/get method. Argument is string. If you pass 'poxy' to constructor, it is prepopulated.
server()
returns XMLRPC::Lite object proxy must be set
blog_id()
setget method, set to '1' by default
publish()
many methods use 'publish' boolean value, by default we set to 1 you can still pass a value for publish such as
$o->newPost( $content_hashref, 1 );
but you can also call
$o->newPost( $content_hashref );
As we said, by default it is set to 1, if you want to set the default to 0,
$o->publish(0);
errstr()
returns error string if a call fails
$o->newPost(@args) or die($o->errstr);
AUTHOR
Leo Charre leocharre at cpan dot org
BUGS
Please submit to AUTHOR
CAVEATS
This distro is alpha. Included are the metaWeblog and wp method calls.
SEE ALSO
XMLRPC::Lite SOAP::Lite