我想在一个单独的php文件上运行wp_query以进行a​​jax调用

Ada*_*dam 6 php wordpress

例如:

<?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>
Run Code Online (Sandbox Code Playgroud)

上面的代码是在自己的php文件中准备好由主wordpress页面调用,但是我得到一个错误,说找不到wp_query类.我假设它是因为我没有使用header.html,它可能有一堆包含.该页面使用wp_query类需要什么?

MrG*_*ass 7

您可以关闭模​​板引擎,然后包含标题.
// Include WordPress
define('WP_USE_THEMES', false);
require_once('PATHHERE/wp-blog-header.php');


小智 6

您必须包含Wordpress功能位于Wordpress安装主目录中的文件:

define('WP_USE_THEMES', false);  
require_once('../../../wp-load.php');
Run Code Online (Sandbox Code Playgroud)

../../../ =安装主目录的路径

我在这里找到了一个很好的教程.


小智 3

你得把ajax调用的页面做成模板页面。在您的博客中创建一个新页面并分配模板。没有标题没有包含。