微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 wordpress php 短代码挂钩放在 if 语句中是否正确,其中 if 语句是 post 方法的响应?

如何解决将 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 举报,一经查实,本站将立刻删除。