创建Wordpress自定义字段,但不作为meta_data

时间:2019-04-10 13:49:56

标签: php wordpress

我正在使用Wordpress API进行项目开发,我想问问您是否有任何方法可以为wordpress帖子创建自定义字段,而不是meta_data字段?

我使用正常的方式来创建此字段,但是它将字段保存为具有自己的ID,键和值的meta_data,这使我的应用程序-api通信难以维护。

例如,我有这样的东西: ... "menu_order": 0, "meta_data": [ { "id": 90391, "key": "cds_quantity", "value": "9999" }, ], "_links": ...

而且我很乐意为以下内容归档:

... "menu_order": 0, "meta_data": [], "cds_quantity": 9999, "_links": ...

感谢您的建议。

2 个答案:

答案 0 :(得分:0)

如果没有meta_data,就无法处理自定义字段

Wordpress可以将任何自定义字段用作meta_data,请参见此处:-

https://codex.wordpress.org/Custom_Fields

如果不需要meta_data,则需要从其他表(而不是WordPress表)中保存该数据

答案 1 :(得分:0)

正如Khalid所写,我的目标无法以我想要的方式存档,但是我为使用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;

}

也许这会有所帮助。

干杯。