Создавать пользовательские поля Wordpress, но не как meta_data - PullRequest
0 голосов
/ 10 апреля 2019

Я работаю над проектом с использованием Wordpress API, и я хотел бы спросить вас, есть ли способ создать настраиваемые поля для записей WordPress, но не как поля meta_data?

Я использую обычный способсоздайте эти поля, но при этом сохраните поля как метаданные с их собственным идентификатором, ключом и значением, и это затруднит поддержание связи между моим приложением и API.

Например, у меня есть что-то вроде этого: ... "menu_order": 0, "meta_data": [ { "id": 90391, "key": "cds_quantity", "value": "9999" }, ], "_links": ...

, и я буду рад заархивировать что-то вроде этого:

... "menu_order": 0, "meta_data": [], <b>"cds_quantity": 9999,</b> "_links": ...

Спасибо за ваши советы.

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Как писал Халид, моя цель не состоит в том, чтобы архивировать так, как я хотел, но я нашел другой способ для тех, кто использует REST API.

При создании пользовательского post_meta вы можете добавить его в ответ API с помощью этого кода:

add_filter( 'woocommerce_rest_prepare_product_object', 'wc_rest_api_add_custom_data_to_product', 90, 2 );
function wc_rest_api_add_custom_data_to_product( $response, $post ) {

  $response->data['your_api_key'] = get_post_meta( $post->id, '_post_meta_key', true );

  return $response;

}

Может быть, это будет полезно.

Приветствие.

0 голосов
/ 10 апреля 2019

Невозможно работать с пользовательскими полями без meta_data

Wordpress работает для любых пользовательских полей как meta_data, смотрите здесь: -

https://codex.wordpress.org/Custom_Fields

если вам нужно без метаданных, вам нужно сохранить эти данные из другой таблицы, а не из таблицы WordPress

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...