2011-01-09 21 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文件準備由主WordPress的頁面調用,但是我得到一個錯誤說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 2011-01-09 20:48:05

2

這對我有效,也許它會幫助別人。

我的情況是我有一個使用getScript的js文件。在那個腳本中,我有一堆.load()調用到一個php文件。在頂部我放置這個。

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的一個很好的教程。

相關問題