programing

ajax 호출에 대해 별도의 php 파일에서 wp_query를 실행하고 싶다.

batch 2023. 2. 25. 20:09
반응형

ajax 호출에 대해 별도의 php 파일에서 wp_query를 실행하고 싶다.

예를 들어 다음과 같습니다.

<?php $numposts = $_POST['showposts']; ?>


<?php $home_query_bottom = new WP_Query("cat=&showposts=$num_posts&offset=5"); $b = 0; ?>
<ul class="thumbs">
    <?php while ($home_query_bottom->have_posts()) : $home_query_bottom->the_post();
        $do_not_duplicate = $post->ID; $b++; ?>

        <li class="post-<?php the_ID(); ?> thumb"><?php get_the_image( array( 'custom_key' => array( 'thumbnail' ), 'default_size' => 'thumbnail', 'width' => '160', 'height' => '160' ) ); ?></li>
    <?php endwhile; wp_reset_query(); $b = 0; ?>
</ul>

위의 코드는 메인 워드프레스 페이지에서 호출할 수 있는 자체 php 파일에 있지만 wp_query class not found라는 오류가 나타납니다.아마 header.html을 사용하고 있지 않기 때문일 것입니다.이 페이지에서 wp_query 클래스를 이용하려면 무엇이 필요합니까?

템플릿 엔진을 끄고 헤더를 포함할 수 있습니다.
// Include WordPress
define('WP_USE_THEMES', false);
require_once('PATHHERE/wp-blog-header.php');

Wordpress 설치의 메인 디렉터리에 있는 Wordpress 기능이 있는 파일을 포함해야 합니다.

define('WP_USE_THEMES', false);  
require_once('../../../wp-load.php');

../../../ = 설치의 주 디렉터리에 대한 경로

여기 좋은 튜토리얼이 있어요.

Ajax가 템플릿페이지를 호출하는 페이지를 작성해야 합니다.블로그에 새 페이지를 만들고 템플릿을 할당합니다.헤더는 포함되지 않습니다.

나한테는 잘 먹혔어. 다른 사람에게 도움이 될지도 몰라

getScript를 사용하는 js 파일이 있습니다.이 스크립트에는 php 파일에 대한 .load() 호출이 많이 있습니다.맨 위에 이걸 놓겠습니다.

if (file_exists("../../../wp-load.php"))
    {
    require_once("../../../wp-load.php");
    }

를 변경하다../wp-load 파일이 얼마나 많은 디렉토리가 업로드 되어 있는지 확인합니다.

편집 - WP 3.4.1 사용

언급URL : https://stackoverflow.com/questions/4641545/i-want-to-run-wp-query-on-a-separate-php-file-for-an-ajax-call

반응형