删除前端上的ACF中继器字段行

时间:2019-04-22 作者:Fluti

我想从前端删除行。这就是我所做的:

HTML:

<?php $row = get_row_index(); ?>
<tr data-rownum="\'. $row .\'">
  <td>
    <span class="deletecontrat iconfont_d" data-toggle="tooltip" data-placement="right" title="Effacer ?">r</span>
  </td>
</tr>
AJAX。JS公司

jQuery( document ).on( \'click\', \'.deletecontrat\', function() {

    $rownumjs = $(this).parent().parent().data("rownum");

    jQuery.post(             
            ajaxurl,
            {
                \'action\': \'mon_action\',
                \'param\': $rownumjs
            }
            ,
            function(response){
                    console.log(response);
            }
    );

});
功能。PHP

function add_js_scripts() {
    wp_enqueue_script( \'script\', get_template_directory_uri().\'/custom/js/ajax.js\', array(\'jquery\'), \'1.0\', true );
    wp_localize_script(\'script\', \'ajaxurl\', admin_url( \'admin-ajax.php\' ) );
}
add_action(\'wp_enqueue_scripts\', \'add_js_scripts\');




function mon_action() {

    $param = $_POST[\'param\'];

    delete_row("field_5c8fa4201b65f", 1, $post_id);

    echo $param;
    die();
}
add_action( \'wp_ajax_mon_action\', \'mon_action\' );
add_action( \'wp_ajax_nopriv_mon_action\', \'mon_action\' );
所以在我的控制台里我得到了回应:

  • 1 对于第一行2 对于第二行,依此类推…

    我假设我的代码正常工作,但现在我不能或不知道如何执行我的delete函数……我读了this, 但什么都没发生。

    我做错了什么?

    (我希望我很清楚,因为英语不是我的语言。)

1 个回复
SO网友:MikeNGarrett

你有1 硬编码为中的行号mon_action().

应该是这样的delete_row( \'field_5c8fa4201b65f\', (int) $_POST[\'param\'], $post_id );

相关推荐

为什么admin-ajax加载速度会变慢?有什么方法可以加快它的速度?

我正在为WoodPress开发一个使用woocommerce的主题。目前,我开发了一个新页面,展示产品。最初,我没有使用ajax就完成了页面和类别过滤器,一切都很好。然而,设计师不喜欢在应用过滤器时重新加载页面,然后我使用wordpress的ajax再次开发了所有内容,因为纯ajax不起作用。现在页面运行正常,第一次加载和过滤器使用ajax。但问题如下:当页面调用admin ajax时,会延迟3-5秒。然而,当我在localhost中测试时,持续时间是瞬时的。这是函数中的函数。php:add_action