如何解决将 wordpress php 短代码挂钩放在 if 语句中是否正确,其中 if 语句是 post 方法的响应?
这是我计划实施的 wordpress PHP 代码。该代码是一个将表单数据发布到外部 Api 的插件。计划是我希望使用短代码在 wordpress 前端显示成功响应。目前我没有外部 api 来测试它,但我也不知道这是否是获得我想要的东西的正确方法,是吗?提前致谢。
add_action('wpforms_process_complete','wpairform_api_sender',10,4);
function wpairform_api_sender($fields,$entry,$form_data,$entry_id)
{
//if form ID is 1
if ($form_data['id'] == 10240) {
$api_url = 'https://hook.integromat.com/tzeseygrctyxjbsxfp7psbbkt40j8tc2';
$body = array(
'text' => $fields['1']['value'],);
$response = wp_remote_post($api_url,array('body' => $body));
if( is_wp_error( $response )){
$error_message = $response->get_error_message();
return "Something went wrong: $error_message";
}
if( 200 !== wp_remote_retrieve_response_code( $response )){
return;
}
if (200 === wp_remote_retrieve_response_code( $response )) {
//$response_body = wp_remote_retrieve_body( $response );
//var_dump($response_body->message);
function github_issues_func($atts)
{
return wp_remote_retrieve_body($response);
}
add_shortcode("github_issues","github_issues_func");
}
}
}
解决方法
如果您只想从 API 获取响应并将其显示在前端,您可以将其保存在瞬态中,而不是在每次表单运行时生成短代码,您可以阅读有关瞬态的更多信息 { {3}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。