如何通过 REST API 使用所有自定义字段创建自定义帖子类型? WORDPRESS WP-API

问题描述 投票:0回答:1

我正在尝试从 REST Api 创建自定义帖子类型“属性”。我能够成功创建它,我刚刚传递了标题和内容。但我还想将值插入到元框中,例如城市、价格、类型、状态国家/地区。这些是 HOUZEZ 主题的一部分。我如何使用所有这些值创建此帖子类型属性?请建议。

这是我现在的代码。请建议添加什么。

<?php
///////////////////////////////////////////////////////////////////////////////////
//                                                                               //
// This is using a sample local WordPress Install and is not production safe     //
// It uses the  REST and Basic Auth plugins                                      //
//                                                                               //
///////////////////////////////////////////////////////////////////////////////////
// setup user name and password
$username = '*****';
$password = '*****';
// the standard end point for posts in an initialised Curl
$process = curl_init('http://205.147.97.184/unified/index.php/wp-json/wp/v2/property');
// create an array of data to use, this is basic - see other examples for more complex inserts
$data = array('slug' => 'rest_insert2' , 'title' => 'REST API insert22w' , 'content' => 'The content of our stuff', 'excerpt' => 'smaller', 'status' => 'publish' , 'property_city-all' => 'in-property_city-145' );
$data_string = json_encode($data);
// create the options starting with basic authentication
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_POST, 1);
// make sure we are POSTing
curl_setopt($process, CURLOPT_CUSTOMREQUEST, "POST");
// this is the data to insert to create the post
curl_setopt($process, CURLOPT_POSTFIELDS, $data_string);
// allow us to use the returned data from the request
curl_setopt($process, CURLOPT_RETURNTRANSFER, TRUE);
// we are sending json
curl_setopt($process, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))                                                                       
);
// process the request
$return = curl_exec($process);
curl_close($process);
// This buit is to show you on the screen what the data looks like returned and then decoded for PHP use
echo '<h2>Results</h2>';
print_r($return);
echo '<h2>Decoded</h2>';
$result = json_decode($return, true);
echo "<pre>";print_r($result);

这里还有属性帖子类型自定义元字段或元框。我想通过 API 插入它的值

属性帖子类型

php json wordpress wordpress-rest-api
1个回答
1
投票

如何在houzez中添加元数据支持的说明,最初的想法是:

如何在Wordpress API Post中包含META字段?

您需要设置:

  • 当register_post_type()时'show_in_rest'为真
  • register_post_type() 时“自定义字段”必须处于“支持”状态
  • 当register_meta()时'show_in_rest'为真

当您进行这些修改时,您必须考虑:

  • 不要直接修改主题和/或插件,因为当它 更新您丢失了修改
  • 只需要添加你需要的,仅此而已

在文件夹 example/ 中,您可以找到不同主题和插件的示例,目前仅存在一个示例,但将来我可以添加更多

胡泽兹

您必须激活子主题和子插件

houzez-child

路径:wp-内容/主题

houzez 子主题,在元字段中添加 'show_in_rest'

houzez-主题-功能-子

路径:wp-content/plugins

子插件,添加“自定义字段”支持

这些文件在我的repo

© www.soinside.com 2019 - 2024. All rights reserved.