我有一个小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();
}
}