2011-10-28 4 views
0

また、Wordpressフォーラムで投稿しました: http://wordpress.org/support/topic/how-to-query-post-content-with-javascript?replies=1 しかし誰も返信していないので、私も同様に試してみると思いました。なぜ私はPHPスクリプトからwordpressデータベースを照会できないのですか?

私は完全に使用しているコードをレイアウトしますが、それにはどのようなものがありますか?wordpressデータベースから投稿の内容を取得し、HTMLの内容をコンテンツ?

ページの読み込み時に、私は、対応する画像のためのポストIDを生成し、PHP、すなわち持っている: onmousedown="javascript:getDescription('<?php the_ID(); ?>');"

onmousedown()は、私はPHPファイルに照会するポストの値を渡すJavaScriptを呼び出すことが、すなわち:

`<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は、クエリを実行するとJavaScriptが続い<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ヘッダーを含めてみましたか?あなたのget-description.phpファイルの先頭にこのslappin

試して...

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

ヘッダは、グローバルスコープ(任意の関数の外)に含まれるべきか、それを考えてワードプレスといくつかの問題に実行します設定/インストールされていません。

また、ここでの指示に従って試すことができます。Integrating WordPress with Your Website

+0

私はそれがこのようなものでなければならないように感じる - そのPHPのファイルの検索コードはまっすぐです私は '。/ wp-blog-header.php'を試しましたが、それを含めてファイルに何も返されません。 – catdotgif

0

は、プラグインの一部としてあなたのget-description.phpコードを置くことを検討して、それをすべてを作成する方法のステップバイステップのインストラクションのためWordpress Codexを見て作業。具体的には、ビューア側のAjaxと 'wp_ajax_my_action'(あなたの場合は 'wp_ajax_get_description')です。

クイックアップデート:get_post()の呼び出しはすべての標準フィルタを通過するため、他のプラグインが呼び出しに影響を与えるかどうかを素早く確認する必要があります。

+0

ええ、もっと良い解決策は、これをajaxでやっていないかもしれないと思っていますが、リンクが押されたときに実際のページを読み込むだけです。私は使用しているテーマのカスタマイズを最小限に抑えようとしていましたが、とにかくそれがより良い練習になると思います。しかし、私はこのことを、将来のためにする方法を知りたいです。 – catdotgif

関連する問題