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

Posted

技术标签:

【中文标题】将wordpress php短代码挂钩放在if语句中是不是正确,其中if语句是post方法的响应?【英文标题】:Is it correct to put wordpress php shortcode hook inside an if statement in which the if statement is the response of a post method?将wordpress php短代码挂钩放在if语句中是否正确,其中if语句是post方法的响应? 【发布时间】:2021-09-30 16:15:49 【问题描述】:

这是我计划实现的 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");
        
    

【问题讨论】:

【参考方案1】:

如果您只想从 API 获取响应并将其显示在前端,您可以将其保存在瞬态中,而不是在每次表单运行时生成短代码,您可以阅读有关瞬态的更多信息@ 987654321@

【讨论】:

以上是关于将wordpress php短代码挂钩放在if语句中是不是正确,其中if语句是post方法的响应?的主要内容,如果未能解决你的问题,请参考以下文章

在 WordPress 页面编辑器中,如何添加 HTML 以将短代码提取的数据放在 2 列中?

php 阻止Wordpress将额外的10px宽度插入图像标题短代码。

php Wordpress - 使用WP All Import Pro将图像导入帖子时插入图库的短代码

从youtube嵌入缩略图和视频(php - Wordpress)

WordPress 自定义短代码帮助

php 事件短代码 - 事件日历WordPress插件