【发布时间】:2021-02-08 22:26:11
【问题描述】:
我有 1 个问题一直在尝试解决。当我搜索这样做时,我正在尝试遵循一些示例,但我并不是很成功......一直在尝试遵循这样的东西...... https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-custom-endpoints/
- 如何在回调中传递参数/args
下面的这段代码确实有效。我想要的逻辑是,当您选择一天(Y-m-d)格式时,它会返回从开始时间到管理员用户在 wordpress 中选择的结束时间的所有可用时间。
这是我的 rest_api_init
add_action( 'rest_api_init', function () {
register_rest_route( 'myplugin/v1', '/day/(?P<id>\d+)', array(
'methods' => 'GET',
'callback' => 'my_awesome_func',
) );
} );
这里是回调函数
function my_awesome_func($request) {
$selected_day = '2020-05-05';
$startTime = esc_attr( get_option( 'start_time' )); //this works can hard coded as (10:30)
$endTime = esc_attr( get_option( 'end_time' )); // also works can hard coded (20:00)
$minutesApart = esc_attr( get_option( 'minutes_between')); //also works hard coded (15)
$data = array();
$exploded_daydate = explode('-', $selected_day);
$start_time_raw = $startTime;
$end_time_raw = $endTime;
$start_time_Exploded = (explode(":",$start_time_raw));
$end_time_Exploded = (explode(":",$end_time_raw));
$loopStart = mktime($start_time_Exploded[0], $start_time_Exploded[1], 0, $exploded_daydate[1], $exploded_daydate[2], $exploded_daydate[0]);
$loopEnd = mktime($end_time_Exploded[0], $end_time_Exploded[1], 0, $exploded_daydate[1], $exploded_daydate[2], $exploded_daydate[0]);
$i=0;
while ($loopStart <= $loopEnd) {
$data[$i] = date("Y-d-m h:i:s",$loopStart);
$loopStart = $loopStart + ($minutesApart *60);
$i++;
}
return $data;
}
现在我对 ($selected_day = '2020-05-05';) 进行了硬编码,但我希望通过在 URL 端点末尾接受 (Y-m-d) 格式来使端点 url 起作用。我就是想不通……这一切都是新手……
任何帮助都会很好。
【问题讨论】: