2010-04-19 4 views
0

저는 Wordpress에서 맞춤 게시물 검색 페이지를 구현하고 싶습니다. 기본적으로 AJAX를 사용하여이 페이지를 호출합니다.이 페이지는 게시물 ID를 전달하고 해당 게시물에서 특정 데이터를 검색합니다.맞춤형 Wordpress 페이지

참고 :이 질문을 템플릿 질문으로 잘못 입력하지 마십시오. 하나의 단일 페이지에 대한 템플릿을 원하지 않습니다.이 페이지에 postID를 기반으로 여러 개의 다른 게시물을 쿼리하고 해당 게시물의 특정 데이터를 반환하려고합니다.

그래서 나는 페이지

<?php 
$args=array(
     'p'=>'77' 
    ); 
    $friends = new WP_Query($args); 
?> 
<?php if ($friends->have_posts()) : the_post(); ?> 

    <?php the_title(); ?> 
    <?php the_content(); ?> 

<?php else: ?> 
    <p>Sorry, no posts are available.</p> 
<?php endif; ?> 

을 만들려고하지만 쿼리를 처리 할 수 ​​WP 기능에서로드되지 않기 때문에이 작동하지 않습니다.

미리 도움을 청하십시오!

답변

1

wp-blog-header.php 파일을 포함해야합니다. 당신이 만드는 페이지가 테마의 폴더에있는 경우에 당신은 당신의 코드 내가 당신이 뭘 하려는지 짐작 생각

<?php require_once ('../../../wp-blog-header.php');?>

1

의 상단에 이런 일을 둘 것입니다, 그것은 당신이 같은 소리 잘못된 방향으로 가고 있습니다. 관리자 인터페이스에서 '새 페이지'를 만들지 마십시오. 당신이하고 싶은 것은 자바 스크립트에 파일 (JSON, XHTML 조각 등)을 제공하고 WP 데이터에 포함시키는 것입니다. 나는 그 문제를 안다. 플러그인 중 일부에서 그것을 사용했다.

는 두 가지 기술이 있습니다

(1) 이것은 당신이해야 할 것입니다 : 새로운 플러그인 (다른 플러그인과 같은 형식의 헤더와 WP-플러그인 단지 느슨한 PHP 파일을 그곳에). 이 라인을 따라 함수를 쓰기 :

function mydatapage(){ 
    if (...$_SERVER['REQUEST_URI'] == the one I am using ...) { 
     $args=array(
      'p'=>'77' 
     ); 
     $friends = new WP_Query($args); 
     if ($friends->have_posts()) : 
      the_post(); 
      the_title(); 
      the_content(); 
     else:>? 
<p>Sorry, no posts are available.</p> 
     <?php endif; 
     die(); 
    } //else do nothing and leave WP to serve the page normally 
} 
//Crucially: 
add_action('init', 'mydatapage'); 

은 무슨하는 일은 페이지가 URL이 납치 및 사용자 정의 데이터를 전송하는 데 사용할 하나를 일치하는지 확인하기 위해로드 된 경우 조회를 할 수 있습니다. 그럴 경우, 데이터/파일/기분이 어떤 것이 든간에 보내고 종료하십시오 (죽습니다).

더 자세한 구문을 원하면 소리 치십시오. 조금 지저분하지만 잘 작동합니다.

(2) 직접 플러그인 파일을 호출하십시오. WP는 이미 존재하지 않는 파일 만 처리하고 나머지는 Apache로 남겨 둡니다. 즉, 플러그인 파일을 만들고 .../wp-plugin/myfile.php URL을 사용하여 플러그인 파일을 직접 호출 할 수 있습니다. WP_Query와 같은 것을 얻으려면 WP 코어 파일 중 일부를 포함해야합니다. 방법이 조금 더 깨지기 쉽습니다.