我试图通过ajax进行短代码,我使用ajax获取页面内容,并且添加到内容中的短代码显示为纯文本。我一直在寻找解决方案,但没有什么可以帮助我解决这个问题。
例如我在内容中有metaslider短代码,我想在几个页面上显示它。主要问题是每页都会有不同的滑块,所以我需要加载滑块取决于它们的ID。
获取网页内容的方法:
ajax_get_post: function(postid) {
var loader = $('#pop-single .loader');
loader.show();
var data = {
'action': 'get_single_post',
'post_id': postid
};
$.ajax({
type: 'POST',
url: ajaxurl,
data: data,
success: function(data) {
var content = $('#pop-single .popup');
loader.hide();
content.show();
//console.log(data);
var post = JSON.parse(data),
title = post.post_title,
content = post.post_content;
$('#pop-single h1.title').html(title);
$('#pop-single .content-ajax').html(content);
},
error: function(data) {
alert('nope');
}
});
},
发布php - functions.php
add_action('wp_ajax_get_single_post', 'ajax_get_single_post');
add_action('wp_ajax_nopriv_get_single_post', 'ajax_get_single_post');
function ajax_get_single_post() {
if (!empty($_POST['post_id'])) {
$id = $_POST['post_id'];
$post = get_page($id);
echo json_encode($post);
}
die();
}
现在以同样的方式我希望显示添加到内容中的任何短代,或者可能还有其他方式,但它应该动态完成,这就是我使用ajax的原因。
感谢您提供任何帮助或示例如何做到的建议。