2011-01-09 4 views
5

のための別のPHPファイルにwp_query実行したい:私はたとえばAJAX呼び出し

<?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クラスが見つかりませんでした。私はheader.htmlを使用していないので、それはおそらく含まれているの束を持っていると仮定しています。 wp_queryクラスを利用するには、そのページに必要なものは何ですか?

答えて

3

ajaxがテンプレートページを呼び出すページを作成する必要があります。 ブログに新しいページを作り、テンプレートを割り当てます。 ヘッダーは含まれません。

7

テンプレートエンジンをオフにして、ヘッダーを含めることができます。
// Include WordPress
define('WP_USE_THEMES', false);
require_once('PATHHERE/wp-blog-header.php');

+0

私のヘッダーは?しかし、それは私のホームページにロードしたいアヤックスコールです – Adam

+0

なぜあなたはテーマをオフにするのですか?ヘッダーは必要なすべての機能をロードしますが、テーマはオフになっているのでヘッダーの内容は実際に出力されません。 – MrGlass

+0

ああ。まあ、私はホストがrequire_onceを無効にしていると思うし、URLファイルアクセスが無効になっているのでエラーが含まれています。どのように私は彼らの本質的なクラスなどを含むWordPressがどのようなのだろうかと思います... – Adam

2

これは私のために働いた、多分それは他の人を助けるでしょう。

私の状況では、getScriptを使用するjsファイルがあります。そのスクリプトでは、PHPファイルへの.load()呼び出しがたくさんあります。上に私はこれを置きます。

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

../を、wp-loadファイルがどれだけ多くのディレクトリにあるかに変更します。

編集 - 使用WP 3.4.1

5

あなたはWordpressのインストールのメインディレクトリに置かWordpressの機能を持っているファイル含める必要があります:

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

を../../。 ./ =あなたのインストールのメインディレクトリへのパス

私はこのhereについて素敵なチュートリアルを見つけました。