WP Ajax编码不起作用

时间:2016-06-10 14:18:07

标签: javascript php jquery ajax wordpress

好的,所以我将html设计网站转换为wp时遇到了麻烦。我有一切工作,除了我用来将内容加载到指定的div而不重新加载页面的ajax代码。这样,我的音乐播放器可以连续播放而无需在每次页面加载或链接点击时重新启动音乐播放器。我用于我的网站的HTML的代码完全按照我想要的方式工作。请查看页面http://www.trillumonopoly.com/index2.html

但是当我来到这里寻求帮助时,我被建议使用一些更改来使其与wordpress一起使用....我发现内容仍然无法加载而无需重新加载整个页面然后音乐播放器从头开始再次。从听众和消费者的立场来看,这很烦人,我不想失去客户,或者粉丝因为这个问题所以我一直在等待启动我的网站,直到这个问题得到解决,所以也许我可以让别人帮助我。请

这是我被告知放入我的函数php的代码

 /**
   * Init js script and its variables
   */
  add_action( 'wp_enqueue_scripts', 'init_js_vars' );
  function init_js_vars() {
    wp_enqueue_script( 'menu_nav', get_template_directory_uri().'/js/nav.js', array( 'jquery') );


    wp_localize_script( 'menu_nav', 'theme', array(
            'ajaxurl' => admin_url( 'admin-ajax.php' ),
            'nonce' => wp_create_nonce( 'ajax-get-page-content' ),
            'page' => 4
        ) );
    }

    /**
     * Handle ajax request, returns content of specific page
     */
    add_action( 'wp_ajax_get_page_content', 'get_page_content' );
    add_action( 'wp_ajax_nopriv_get_page_content', 'get_page_content' );
    function get_page_content() {
        check_ajax_referer( 'ajax-get-page-content', 'nonce' );

        $post_id = absint( $_POST['page_id'] );

        $post = get_post( $post_id );
        $content = apply_filters('the_content', $post->post_content); 

        wp_send_json_success( array( 'content' => $content ) );
    }

继承了我正在使用的JS / ajax代码(在我提供的链接中仍然无法正常运行)

$( document ).ready(function() {
  $.ajax({
    url: theme.ajaxurl,
    method: 'GET',
        data: {
        action: 'get_page_content',
        nonce: theme.nonce,
        page_id: 
    }
    success: function( response ) {
        $('#contentarea').html( response.content );
    }
  });
});

在此处查看现场实施的脚本http://wp.trillumonopoly.com 请帮我解决这个问题,使其功能与我在上面提供的第一个链接的网站html版本中的功能相同。 (很少有页面丢失,但你仍然可以得到我想做的事情)

0 个答案:

没有答案