使用Ajax加载新的高级自定义字段行

时间:2015-12-07 10:52:30

标签: jquery ajax wordpress advanced-custom-fields

我有一个小jQuery模式。这种模式有不同艺术作品的幻灯片。我在列表中有超过40种不同的作品(只是作品的名称),每张作品至少有3张。我想要做的是当我点击列出的工作时,在模态中加载特定的转发器行高级自定义字段转发器字段。我通过使用回显PHP计数器并使用CSS隐藏元素来获取行的ID。

我几乎有这个工作。我无法锻炼如何将新行ID返回到页面模板。当我在页面模板上调用我的函数my_ajax_callback()时,我收到此错误;

Notice: Undefined index: newRowId

非常感谢任何帮助!

页面模板

<span class="rowId"><?php echo $count_parent_row++; ?></span>

的jQuery

button.click(function(e){

    var lastRowId = $('.rowId:last').html();
    console.log( lastRowId );

    $.ajax({
        url: ajax_object.ajaxurl, 
        type: 'POST',
        data:{
            action: 'my_ajax_action', 
            newRowId: lastRowId
        },

        success: function( data ){
            console.log( data );
        }
    });
}); 

的functions.php

add_action( 'wp_enqueue_scripts', 'ajax_enqueue_scripts' );
function ajax_enqueue_scripts(){
  wp_enqueue_script( 'ajaxHandle', get_template_directory_uri() . '/library/js/ajax.js', array('jquery'), '1.0', true );
  wp_enqueue_script( 'ajaxHandle' );
  wp_localize_script( 'ajaxHandle', 'ajax_object', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
}

add_action( 'wp_ajax_my_ajax_action', 'my_ajax_callback' );
add_action( 'wp_ajax_nopriv_my_ajax_action', 'my_ajax_callback' );
function my_ajax_callback() {

    $data = $_POST['newRowId']; 

    if(isset($_POST['newRowId']))
    {

        $title              = 'drawings'; 
        $title__singular    = 'drawing';
        $row                = get_field('list_of_'. $title);
        $rowNumber          = $data;
        $row_first          = $row[$rowNumber];
        echo $field         = $row_first[$title__singular . '_title'];

    wp_die();
    }
}

0 个答案:

没有答案