使用ajax的Wordpress do_shortcode

时间:2014-12-08 15:14:45

标签: javascript php ajax wordpress shortcode

我试图通过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的原因。

感谢您提供任何帮助或示例如何做到的建议。

0 个答案:

没有答案