Perl WordPress :: Категории XMLRPC не устанавливаются - PullRequest
0 голосов
/ 13 апреля 2010

Следующий код отлично работает для загрузки нового поста в блог WordPress, но, судя по всему, я не могу получить категории для установки.

Категории существуют. Я пробовал все строчные буквы, пытался сопоставить регистр, пробовал версию слаг. Ничего не работает Независимо от того, как я пытаюсь передать категории, сообщение назначается только категории по умолчанию.

Я искал в Интернете другие примеры кода, и ни в одном из них не упоминается фактическая семантика кода о том, как присваивать сообщения определенным категориям с помощью модуля WordPress :: XMLRPC .

use WordPress::XMLRPC;

my $o = WordPress::XMLRPC->new;  
$o->username('username');
$o->password('password');
$o->proxy('http://blogdomain.com/xmlrpc.php');
$o->server() || die "$!";

my $hashref = {
    'title'             => 'Test New Post 999 555456782',
    'categories'        => ['Categorie1', 'Categorie2'],
    'description'       => '<p>Here is the content</p>',
    'mt_keywords'       => 'tag1, tag2, tag3',
    'mt_allow_comments' => 1,
};

my $ID = $o->newPost($hashref, 1);

Ответы [ 2 ]

1 голос
/ 28 марта 2012

Была такая же проблема, через 2 часа я нашел решение, которое у меня работает:

my $id = $o->newPost(
    {
        title              => 'title',
        description        => 'description',
        categories         => [@tab],
        mt_keywords        => 'tag1, tag2, tag3',
        mt_allow_comments  => '1',
    },
    1   # Publish
);

Похоже, что заключение в скобки @tab помогает, или вы можете указать категории, как описано ниже:

my $id = $o->newPost(
    {
        title              => 'title',
        description        => 'description',
        categories         => ['category1', 'category2'],
        mt_keywords        => 'tag1, tag2, tag3',
        mt_allow_comments  => '1',
    },
    1   # Publish
);

Вы должны создать категорию перед публикацией:

$content_hashref->{name} = $elem;
$o->newCategory($content_hashref, 1);  # etc...
0 голосов
/ 01 июля 2010

Я считаю, что это исправлено, так как у меня не было проблем с выполнением следующих действий (разделение списка категорий $ запятыми):

my @categories = split(',', $categories);

my $id = $o->newPost(
 {
      title           => 'title',
        description   => 'description',
        categories    => \@categories,
        mt_keywords      => 'tag1, tag2, tag3',
        mt_allow_comments  => '1',
     },
     0 # Publish?
    );
...