当前位置: 首页 > 知识库问答 >
问题:

表单提交后WordPress页面变成空白

扈沛
2023-03-14

我下面的教程,创建表单与高级自定义字段,更新用户配置文件。当我按下提交按钮时,页面变成空白(白色)。也许你们可以在下面看到一行引起麻烦的代码。教程说它告诉WordPress它在更新用户而不是页面。

我希望页面重新加载,或者在提交后重定向到另一个页面。

教程参考:https://usersinsights.com/acf-user-profile/

这段代码在functions.php.它转换短代码并提交数据,数据确实会更新,但是在它提交页面后,页面上什么都没有,只是空白。


    function my_acf_user_form_func( $atts ) {
     
    
      $a = shortcode_atts( array(
        'field_group' => ''
      ), $atts );
     
      $uid = get_current_user_id();
      
      if ( ! empty ( $a['field_group'] ) && ! empty ( $uid ) ) {
        $options = array(
          'post_id' => 'user_'.$uid,
          'field_groups' => array( intval( $a['field_group'] ) ),
          'return' => add_query_arg( 'updated', 'true', get_permalink())
        );
        
        ob_start();
        
        acf_form( $options );
        $form = ob_get_contents();
        
        ob_end_clean();
    
      }
      
        return $form;
        
    
    }
     
    add_shortcode( 'my_acf_user_form', 'my_acf_user_form_func' );
    
    //adding AFC form head
    function add_acf_form_head(){
        global $post;
        
      if ( !empty($post) && has_shortcode( $post->post_content, 'my_acf_user_form' ) ) {
            acf_form_head();
        }
    }
    add_action( 'wp_head', 'add_acf_form_head', 7 );

共有1个答案

岳晟
2023-03-14

多亏了约翰·泰纳打开wp_debug_display的提示,我发现这个问题与添加到wp_head的代码有关。我在网上搜索,从一篇ACF文章中发现acf_form_head()需要放在标题之前。

更改:

add_action( 'wp_head', 'add_acf_form_head', 7 );

add_action( 'get_header', 'add_acf_form_head', 0 );

它的作品!:)

 类似资料:
  • 本文向大家介绍ajax跨页面提交表单,包括了ajax跨页面提交表单的使用技巧和注意事项,需要的朋友参考一下 前面提到过重复提交表单问题,处理token口令校验、重定向之外,还有一种经常使用到的方法就是新页面处理表单提交,完成后关闭当前页面,并刷新之前发送请求的页面。 这里使用了artDialog.js 1、文件结构 2、user.jsp 3、userAdd.jsp 4、UserManageActi

  • 问题内容: 当按下发送按钮而字段中没有任何数据时,如何防止页面刷新? 验证设置工作正常,所有字段均变为红色,但随后页面立即刷新。我对JS的知识比较基础。 我特别认为底部的功能是“不良”。 的HTML JS 问题答案: 您可以阻止表单提交 当然,在该函数中,您可以检查是否有空白字段,如果看起来不正确,将停止提交。 没有jQuery:

  • 问题内容: 有人可以告诉我使用 jquery来显示成功提交表单 而不刷新页面 的教程。传递邮件时,在gmail上会发生类似的事情,黄色的叠加层显示邮件已传递,然后淡出。 我希望根据表单提交的结果显示消息。 问题答案: 好的…类似这样的东西…但是我没有尝试过…所以像教程一样使用它。您也可以使用json js: HTML: form_process.php

  • 问题内容: 我已经阅读了所有有关将标头插入php表单文件中以便在提交表单后将用户重定向到另一个URL的文章-但我不知道该怎么做。下面是我的代码。您能告诉我在哪里放置标题/重定向,以便通过电子邮件发送信息,然后用户转到另一个html页面吗? 问题答案: 之后 请注意,您将永远不会看到“感谢您订阅我们的邮件列表” 那应该在下一页上,如果您回显任何文本,则会收到错误消息,因为标头已经被创建;如果您要重定

  • 下面是MultistepForm的代码。我已经实现了一个多步骤表单功能,所以这里一切都很好,只是问题是在这个表单中,我在最后一步有一个预览页面,所以当我点击提交按钮时,表单正在消失,按钮正在顶部移动。所以如果有人能帮我请。

  • 问题内容: 我正在尝试在wordpress中获取ajax请求的结果,但是在javascript的警报框中却获得了“ 0”的结果,因此该表单如下所示: javascript看起来像这样: 和PHP: 有谁知道上面的代码是否正确,我也尝试过$ _REQUEST [‘name’],它不起作用。 非常感谢 问题答案: 尝试这样的操作,您没有在PHP 函数中添加期望的参数,因此必须将其添加到jQuery a