WordPress, различные форматы при получении сообщений с php или через REST API - PullRequest
0 голосов
/ 22 марта 2020

Что я хотел бы сделать

Я пытаюсь получить сообщение того же формата, что и я, при использовании REST API (с предыдущей аутентификацией)

Проблема

Я получаю другой формат, см. Ниже

Через REST API

Если я получу post thgouth http://testing.test/wp-json/wp/v2/posts?status=private&slug=my_slug с правильно добавленным заголовком Authorization (Bearer ...) (с Postman), затем я получаю ответ, подобный этому

[
  {
    id: 2111,
    date: '2020-03-13T09:17:50',
    date_gmt: '2020-03-13T09:17:50',
    guid: {
      rendered: 'http://testing.test/...',
    },
    modified: '2020-03-13T09:17:50',
    modified_gmt: '2020-03-13T09:17:50',
    slug: '...',
    status: 'private',
    type: 'post',
    link: '...',
    title: {
      rendered: 'Private: ...',
    },
    content: {
      rendered: '<hr />...\n',
      protected: false,
    },
    excerpt: {
      rendered: '<p>...</p>\n',
      protected: false,
    },
    author: 1,
    featured_media: 0,
    comment_status: 'open',
    ping_status: 'open',
    sticky: false,
    template: '',
    format: 'standard',
    meta: [],
    categories: [1],
    tags: [],
    _links: {
      //...
    },
  },
]

Через get_post ()

Но если я получу сообщение с функцией get_post(), такой как этот

$post2 = get_page_by_path($slug, OBJECT, 'post');
$post = get_post($post2->ID);

// if using the get_page_by_path alone it gives the same format

// and this doesn't work, which was my first attempt, but unrelated to this issue
//  $post = get_posts([
//    'name'   => $slug, // this is ignored
//    'post_name'   => $slug, // this is also ignored
//    'post_title'   => $slug, // this is also ignored
//    'post_type'   => 'post',
//    'post_status' => 'private',
//    'numberposts' => 1
//  ]);

, тогда я получу другой формат

[
ID: 2146
post_author: "1"
post_date: "2020-03-18 12:31:37"
post_date_gmt: "2020-03-18 12:31:37"
post_content: "..."
post_title: "..."
post_excerpt: ""
post_status: "private"
comment_status: "open"
ping_status: "open"
post_password: ""
post_name: "..."
to_ping: ""
pinged: ""
post_modified: "2020-03-18 12:31:37"
post_modified_gmt: "2020-03-18 12:31:37"
post_content_filtered: "..."
post_parent: 0
guid: "..."
menu_order: 0
post_type: "post"
post_mime_type: ""
comment_count: "0"
filter: "raw"
]

Что я могу делать?

...