Сразу скажу, что не силен в этом вопросе, но сейчас у меня ответ от wordpress происходит в файле functions.php, а я хотел бы шаблон вывода сделать отдельным файлом, но не понимаю как правильно это сделать.
Сейчас код выглядит так:
js
jQuery(function($) {
$('body').on('click', '.portfolio-item-link', function() {
var id_post = $(this).attr('rel'),
ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
'post_id': id_post,
'action': 'f711_get_post_content'
},
success: function(result) {
alert('done');
}
});
});
});
php в function.php:
add_action( 'wp_ajax_f711_get_post_content', 'f711_get_post_content_callback' );
add_action( 'wp_ajax_nopriv_f711_get_post_content', 'f711_get_post_content_callback' );
function f711_get_post_content_callback() {
// retrieve post_id, and sanitize it to enhance security
$post_id = intval($_POST['post_id'] );
// get the post
$thispost = get_post( $post_id, ARRAY_A );
$post_thumb = get_the_post_thumbnail($post_id);
$post_title = get_the_title($post_id);
$post_content = apply_filters( 'the_content', get_the_content() );
echo '
<div class="ajax-post-content text-block">
<div class="post-content">
<h1 class="post-content-title">' . $post_title . '</h1>
' . apply_filters('the_content', get_post_field('post_content', $post_id)) . '
</div>
</div>
';
}