Как экспортировать все post wordpress в файл XML с php?

Я хотел бы знать, знает ли кто-то, как экспортировать все post моего сайта в wordpress посредством кода PHP, который брал данные как титул post, выдающегося изображения, контент поместил их в Вашу соответствующую этикетку и это сохранял в файле XML на сервере, и что становился отвечающим современным требованиям с каждым новым post, который был создан, в команде более недавней даты я жду самую старую и кто-то смог помогать мне, из-за которого я создаю приложение для android и нуждаюсь как источник данных в файле XML спасибо.

0
задан 10.08.2016, 07:30
3 ответа

Другой выбор состоит в том, чтобы использовать API JSON WordPress, получая posts с API HTTP WordPress, и после конвертировать array, полученный в XML.

  1. Ты должен использовать plugin, который дает возможность endpoint JSON.

  2. Функция wp_remote_get из API HTTP WordPress позволяет тебе делать консультацию, сохраняя полный ответ (включая headers) в переменной.

    $response = wp_remote_get('http://local.wp.dev/wp-json/wp/v2/posts/');

Tip: ты можешь добавлять? _embed для того, чтобы он включил этикетки, категории и другие данные, закрепленные полные в каждом post, и не только связанная идентификация.

  1. JSON, который представляет posts (R в REST), ты это возвращаешь с:

    $json = wp_remote_retrieve_body($response);

  2. Ты превращаешь JSON в array с json_decode.

    $array = json_decode( $json, $assoc = true );

  3. Конвертировать array, который ты получил в XML, в зависимости от версии PHP, с которой ты работаешь, ты можешь выбирать современный книжный магазин или собственные классы.

Если уже ты работаешь с PHP 5.6, ты можешь использовать FluidXML, который приходит связанный в вопросе, сходном с этой (конвертировать array XML) в SO: https://stackoverflow.com / в / 34970445/1778979

Если ты еще продолжаешь работать с PHP 5.2, следующий ответ дает тебе урок, с которым ты можешь работать, чтобы решать проблему

Кроме того ты должен включать выдающееся изображение (thumbnail) в JSON, потому что ее не включает WordPress из-за default, я надеюсь, что он подает тебе этот код, который я использую для этого же самого намерения (хотя я не нуждаюсь в превращении в XML), должен включать это в специфический plugin твоего сайта, или в functions.php активной темы:

add_action('rest_api_init', 'register_thumbnail_field_for_posts');

function register_thumbnail_field_for_posts()
{
    register_rest_field('post', 'thumbnail', [
        'get_callback' => 'get_thumbnail_of_post',
        'update_callback' => null,
        'schema' => [
            'description' => 'Imagen destacada del post',
            'type' => 'string',
            'format' => 'url',
            'context' => ['view'],
            'readonly' => true,
        ]
    ]);
}

function get_thumbnail_of_post($object, $field_name, $request)
{
    $attachment_id = get_post_meta($object['id'], '_thumbnail_id', true);
    if (!$attachment_id) {
        return;
    }
    $url = wp_get_attachment_url($attachment_id);
    return $url;
}

Замечания и другие ссылки (я не могу помещать больше соединений).

  • Поиски в wordpress.org из-за WordPress REST API (Версия 2) (не позволяет мне иметь тебя здесь соединение).
2
ответ дан 24.11.2019, 13:40
  • 1
    #191; и plugin, который не делает, что OP est и # 225; спрашивая он лучше? – Jesús Franco 11.08.2016, 01:28
  • 2
    Нет, он равен... – rnrneverdies 11.08.2016, 02:07
  • 3
    Inclu и # 237; c и # 243; я говорю собственный для того, чтобы OP смог получать thumbnail posts в JSON, возвращенном WP, gist, JSON получил с того же WP с Вашим API HTTP, и ссылки на решения, чтобы превращать array в XML, не могу быть м и # 225; s я нуждаюсь, потому что я не знаю, что он располагает в порядке XML, жди и мы не знаем, что versi и # 243; n PHP используй. Я надеюсь, что ответ помогает ему лучше. – Jesús Franco 11.08.2016, 03:20
  • 4
    Я не 100 % безопасных, но думаю, что с 50 Rep уже он может помещать м и # 225; s v и # 237; nculos. – rnrneverdies 11.08.2016, 04:00
  • 5
    Вероятно, я тащу привычку соединения ссылок вместо того, чтобы давать полные решения, спасибо за твой retroalimentaci и # 243; n, действительно я м и # 225; s удовлетворенный ответом м и # 225; s расширь. – Jesús Franco 11.08.2016, 04:03

И если ты соглашаешься прямо на RSS, который уже существует и у него есть формат XML?

Например:

http://example.com/?feed=rss

Больше информации в https://codex.wordpress.org/WordPress_Feeds

1
ответ дан 24.11.2019, 13:40
  • 1
    заметь: чтобы получать полный текст post нужно включать opció n в admin (full text, полный текст) – alo Malbarez 01.04.2018, 07:16

Ты можешь делать это устанавливая plugin WP Аль Экспорт можешь загружать это aquГ-: https://es.wordpress.org/plugins/wp-all-export /

Однажды ты это загрузил разожми файл wp-all-export.zip и перешли Ваш контент в/wp-content/plugins/, после ты вводишь backoffice твоего wordpress идешь в раздел plugins и это устанавливаешь.

Надеялся помочь тебе.

-1
ответ дан 24.11.2019, 13:40
  • 1
    Ты был бы должен включать существенные части ответа, который находится в соединении, которое ты поставляешь, Соединение может ломаться и ответ возвращаться и # 237; в in и # 250; til. Привет! – rnrneverdies 11.08.2016, 02:08
  • 2
    Я ничего не ищу plugins, использую один, но деталь состоит в том, что каждый раз, когда aga новый post я должен быть производя файл xml, я нуждаюсь в одном c и # 243; я говорю в PHP, который мог бы в и # 241; adir посредством hook схвати WordPress и # 237; каждый раз, когда напечатал немного autom и # 225; ticamente произвелся файл xml обновлено – Jose Rodriguez 11.08.2016, 20:10