2017-12-24 41 views
0

xmlhttp 요청으로 작은 데이터 조각 (PHP 루프)을로드하는 방법을 알아 내려고합니다.Ajax 요청 (또는 비슷한 자바 솔루션)을 사용하여 PHP 루프로드

내가 그러나 내가 파일 "gallery.php"인 경우에만 PHP는 루프를로드하고 싶습니다 완벽하게 작동하고 사용하고 기능 :

function refreshData(){ 

        var display = document.getElementById("content"); 
        var xmlhttp = new XMLHttpRequest(); 

        xmlhttp.open("GET", "<?php echo esc_url(home_url('/')) ?>gallery/"); 
        xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
        xmlhttp.send(); 

        xmlhttp.onreadystatechange = function() { 
        if (this.readyState === 4 && this.status === 200) { 
         display.innerHTML = this.responseText; 
        } else { 
         display.innerHTML = "Loading..."; 
        }; 
        } 
       } 

내가 게시물을하고 난 시도하고있어 이 게시물에 묶인 이미지를로드합니다. gallery.php의 루프는 여기에 있습니다 :

<?php $images = get_attached_media('image'); 

      foreach($images as $image) { ?> 
       <div> 
        <img src="<?php echo wp_get_attachment_url($image->ID,'full'); ?>"/> 
       </div> 
      <?php } ?> 

나는 버튼을 XMLHTTP 요청을 클릭 한 후 이미지를이 루프를로드 할,하지만 난 동적 데이터를 요청하는 방법 도움이 필요합니까.

도움 주셔서 감사합니다. 워드 프레스 테마에 아약스와 함께 작업하는 동안

답변

2

, 당신은 워드 프레스 아약스 액션 후크 예를 들어 너무

https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)을 사용해야합니다

add_action('wp_ajax_get_galleryimage', 'get_galleryimage'); 

function get_galleryimage() { 
// than here you put the code to get the images of the given posts, you 
//should send post id from the js 

// Don't forget to stop execution afterward. 
wp_die(); 
} 

당신이 사용과, 그것을위한 페이지를 만들 필요가 없습니다 당신의 아약스 전화가이 url에있을 것입니다 .. 홈/wp-admin/admin-ajax.php? action = get_galleryimage

+0

감사합니다. 그러나 프론트 엔드에 jQuery가 포함 된 것을 많이 해독했습니다. 이 솔루션을 사용할 수 없습니다. 그래서 xmlhttp 요청을 만들어 데이터를 가져 오는 방법을 알아 내려고합니다. – MadMatt

+0

아직도이 훅과 함수를 등록하고이 함수의 이름이 get_galleryimage() 인 경우 url /wp-admin/admin-ajax.php?action=get_galleryimage에 xmlhttp 요청을 보내면됩니다.이 훅은 아무 것도하지 않습니다. 당신이 js로하고있는 것과 함께. 그리고 그 함수보다 당신은 갤러리에있는 포스트 ID를 보내야하고, 루프를 통과해야합니다. 필요한 경우 샘플 코드를 보낼 수 있습니다. –

+0

감사합니다. Sandeep Shrestha,이 솔루션은 완벽하게 작동했습니다! – MadMatt