Может ли кто-нибудь помочь мне обернуть голову вокруг этого, пожалуйста?
Я пытаюсь загрузить заголовок / контент поста WordPress (пользовательский тип поста) в модальном режиме, но изо всех сил пытаюсь сделать это правильно. Я совсем новичок в php и ajax, поэтому я выбрал фрагменты кода из разных уроков и пытаюсь собрать их все вместе.
Итак, сначала я добавляю путь для локализации моего скрипта:
wp_localize_script( 'darkam_global', 'openpost', array(
'ajaxurl' => admin_url( 'admin-ajax.php' )
));
Вот как выглядит моя функция php:
add_action( 'wp_ajax_nopriv_open_post', 'my_open_post' );
add_action( 'wp_ajax_open_post', 'my_open_post' );
function my_open_post() {
$id = $_GET['id'];
$post = get_post($id);
if($post){
wp_send_json(array('post_title' => $post->post_title, 'post_content' => $post->post_content));
} else {
wp_send_json(array('error' => '1'));
}
wp_die();
}
и мой JQuery:
( function( $ ) {
var $modalTrigger = $('.js-modal-trigger');
$modalTrigger.click( open_post_js );
function open_post_js(id) {
jQuery.ajax({
url: openpost.ajaxurl,
type: 'POST',
data: {
id: id,
action: 'open_post'
},
success: function( result ) {
alert( result['post_title'] );
}
})
}
} )( jQuery );
Когда я запускаю модальное окно, я получаю консольную ошибку: Uncaught TypeError: Невозможно прочитать свойство 'type' undefined. Также результат оповещения отображается как «неопределенный».
Любая помощь будет очень ценится:)