Мож кому пригодится, нашел решение, как подружить XML-RPC с All in One SEO, нужно чуть ковырнуть в файлике, что лежит по адресу имя_блога/wp-includes/class-wp-xmlrpc-server.php, в нем ищем функцию:
function set_custom_fields($post_id, $fields) {
$post_id = (int) $post_id;
foreach ( (array) $fields as $meta ) {
if ( isset($meta['id']) ) {
$meta['id'] = (int) $meta['id'];
$pmeta = get_metadata_by_mid( 'post', $meta['id'] );
if ( isset($meta['key']) ) {
$meta['key'] = wp_unslash( $meta['key'] );
if ( $meta['key'] !== $pmeta->meta_key )
continue;
$meta['value'] = wp_unslash( $meta['value'] );
if ( current_user_can( 'edit_post_meta', $post_id, $meta['key'] ) )
update_metadata_by_mid( 'post', $meta['id'], $meta['value'] );
} elseif ( current_user_can( 'delete_post_meta', $post_id, $pmeta->meta_key ) ) {
delete_metadata_by_mid( 'post', $meta['id'] );
}
} elseif ( current_user_can( 'add_post_meta', $post_id, wp_unslash( $meta['key'] ) ) ) {
add_post_meta( $post_id, $meta['key'], $meta['value'] );
}
}
}
заменяем на эту:
function set_custom_fields($post_id, $fields) {
$post_id = (int) $post_id;
foreach ( (array) $fields as $meta ) {
if ( isset($meta['id']) ) {
$meta['id'] = (int) $meta['id'];
$pmeta = get_metadata_by_mid( 'post', $meta['id'] );
$meta['value'] = stripslashes_deep( $meta['value'] );
if ( isset($meta['key']) ) {
$meta['key'] = stripslashes( $meta['key'] );
if ( $meta['key'] != $pmeta->meta_key )
continue;
if ( current_user_can( 'edit_post_meta', $post_id, $meta['key'] ) )
update_metadata_by_mid( 'post', $meta['id'], $meta['value'] );
} elseif ( current_user_can( 'delete_post_meta', $post_id, $pmeta->meta_key ) ) {
delete_metadata_by_mid( 'post', $meta['id'] );
}
} elseif ( current_user_can( 'add_post_meta', $post_id, stripslashes( $meta['key'] ) ) OR
(($meta['key'] == '_aioseop_keywords'
OR $meta['key'] == '_aioseop_title'
OR $meta['key'] == '_aioseop_description') AND
current_user_can( 'add_post_meta', $post_id, str_replace('_', '', stripslashes( $meta['key'] ) ))
)) {
add_post_meta( $post_id, $meta['key'], $meta['value'] );
}
}
}
Сео-дескрипшн и сео-кейворды будут браться из тех, что заданы в редакторе в полях
<description>
и
<keywords>
, сео-тайтл надо прописать в доп.поле _aioseop_title, для меня этот способ постинга по XML-RPC оказался предпочтительнее файлового экспорта, т.к. тут еще можно задавать миниатюру поста через доп поле thumb.
Комментарий отредактирован 1 раз(а).
Последний раз редактировал
baltazor
04 августа 2013, 18:58.