2013-02-22 4 views
2

В настоящее время я работаю над проектом, который включает в себя очистку данных из более чем 300 статических страниц и передачу этих данных на сайт WordPress. Я установил различные пользовательские поля с плагином Simple Fields (http://simple-fields.com/) и поддерживаю базовое соединение XML-RPC. Ниже то, что я использую, чтобы проверить инъекционные пользовательские сообщения (написанные на Ruby):Обновление post_meta в WordPress через XML-RPC

connection = XMLRPC::Client.new_from_uri "http://localhost:8888/xmlrpc.php" 
username = "admin" 
password = "password" 
test_post = { 
    :post_type => "custom_property", 
    :post_status => "draft", 
    :post_title => "test post!", 
    :post_meta => { 
    :_simple_fields_fieldGroupID_1_fieldID_3_numInSet_0 => "test" 
    } 
} 
puts connection.call("wp.newPost", 1, username, password, test_post) 

Я пробовал: custom_fields на месте: post_meta, но до сих пор безрезультатно. Кажется, я не могу обновить настраиваемые поля, созданные с помощью Simple Fields.

Если у кого-то есть предложения по поводу того, что делать, было бы весьма полезно.


EDIT: Эта проблема была решена путем расширения функций XML-RPC с помощью этой статьи: http://kovshenin.com/2010/custom-xml-rpc-methods-in-wordpress/

ответ

2

Это на самом деле довольно сложно, чтобы выяснить структуру пост Wordpress. Если это пользовательское поле вы хотите разместить, вы должны использовать форму ниже:

'custom_fields' => [{'key' => 'something', 'value' => 'something else'}] 

Если пользовательские таксономии, используйте:

'terms' => { 
      'custom_type' => [value], 
      'custom_something' => ['array_item','array_item'] 
     } 

Для терминов, которые вы всегда должны ставить значение в массив, даже если это всего лишь один элемент. Надеюсь, это помогло.

Смежные вопросы