2011-10-28 3 views
0

나는 또한 Wordpress 포럼에 게시했습니다 : http://wordpress.org/support/topic/how-to-query-post-content-with-javascript?replies=1 아무도 대답하지 않았으므로 나는 그렇게 시도 할 것이라고 생각했습니다.PHP 스크립트에서 WordPress 데이터베이스를 쿼리 할 수없는 이유는 무엇입니까?

나는 완전히 사용하고있는 코드를 내놓을 것이다. 그러나 그것이 내려 질 수있는 것은, 워드 프레스 데이터베이스에서 포스트의 내용을 얻고 HTML의 내용을 함유량? onmousedown() 내가 PHP 파일을 조회 할 게시물의 값을 전달하는 자바 스크립트를 호출 onmousedown="javascript:getDescription('<?php the_ID(); ?>');"

그건 : 페이지로드시

, 나는 즉, 해당 이미지에 대한 포스트 ID를 생성 PHP를 가지고 즉 :

`<script type="text/javascript"> 
function getDescription(for_id) { 
    $.ajax({ 
     type: 'GET', 
     url: "<?php bloginfo('template_url');/>/assets/includes/get-description.php?id=" + for_id, 
     success: function(data, textStatus, jqXHR){ 
      $('#textdescription').html(data); 
     } 
    }); 
} 
</script>` 

PHP 파일 얻을 - description.php 다음 쿼리를하고 자바 스크립트는 다음 <div> 내용을 업데이트하는 데 사용하는 포스트 내용, 반환해야합니다 :

`<p><?php 
$contentVar = $_GET['id']; 
$post = get_post($contentVar); 
$content = $post->post_content; 
echo $title; 
?></p>` 

이렇게 데이터베이스 쿼리를 수행하는 PHP 파일을 제외하고는이 모든 것이 테스트되고 작동합니다. 쿼리 할 때 아무것도 반환하지 않습니다. 수신 게시물 ID를 비롯한 다른 콘텐츠를 반환 할 수 있으므로 모든 파이프가 연결되어 있고 작동하고 있음을 알 수 있습니다.

저는 매우 정교한 프로그래머가 아니므로, 정말 간단하고 근본적인 것입니다. 하지만 제가 그걸 알아 내도록 도울 수 있다면 정말 감사 할 것입니다. 감사!

+0

오류 메시지가 나타납니다? get_post() 함수가 wordpress 구조 외부에서 작동하면 나는 놀랄 것이다. –

+0

500 내부 서버 오류가 발생합니다. 그러나 나는 그 문제를 더 자세하게 설명 할 수있는 툴을 충분히 잘 모르겠다 ... ( – catdotgif

답변

0

get_post()으로 전화를 걸려는 PHP 파일에 필요한 WordPress 헤더를 포함 시키려고 했습니까? 헤더는 (모든 기능의 외부) 전역 범위에 포함되어야한다 또는 워드 프레스는 생각 몇 가지 문제로 실행할 수 있습니다

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

당신의 get-description.php 파일의 맨 위에이 slappin

시도 ... 구성/설치되지 않았습니다. Integrating WordPress with Your Website

+0

PHP 파일의 게시물 검색 코드가 곧바로 나오는 것처럼 느껴진다. 코덱스에 대해서는 분명히 명령을 처리하는 방법을 설명하기 위해해야 ​​할 일이 있습니다.'./wp-blog-header.php '를 시도했는데 그 내용을 포함하면 파일이 전혀 반환되지 않습니다. – catdotgif

0

이 플러그인의 일부로 GET-description.php 코드를 넣어 고려하고 모든 것을 만드는 방법에 대한 단계별 지침에 대한 Wordpress Codex보고 :

또한 여기의 지침에 따라 시도 할 수 있습니다 작업. 특히 뷰어 Facing 측면의 Ajax와 'wp_ajax_my_action'이 있는데, 이는 'wp_ajax_get_description'일 수 있습니다.

빠른 업데이트 : get_post() 호출은 모든 표준 필터를 거치므로 다른 플러그인이 호출에 영향을 미치는지 신속하게 확인해야합니다.

+0

그래, 더 나은 해결책은 아약스를 사용하지 않는 것일 수도 있지만 링크를 누를 때 실제 페이지를로드하는 것입니다. 내가 사용하고있는 테마를 최소한으로 사용자 지정하려고했지만 어쨌든 더 나은 방법이라고 생각합니다. 그러나 나는 미래를 위해 이것을 어떻게하는지 알고 싶습니다. – catdotgif

관련 문제