导入数据库时,任何带有wp_Query的页面都不起作用

时间:2013-05-14 作者:Dean Elliott

我经常注意到这一点,当我从测试站点导出数据库并将其导入到实时站点时,任何(或大多数)包含wp\\U查询的页面都不会正确显示(它显示主题,但好像我正在查看中没有内容的页面)

但是如果我创建另一个页面,使用与包含wp\\u查询的模板相同的模板就可以了(只要我不给它相同的slug)。如果我简单地重命名页面slug,它也可以正常工作

有人知道为什么会这样吗?这是我使用的一个示例wp\\U查询;

<?php
    $args = array(
        \'post_type\' => \'offers\',
        \'posts_per_page\' => -1,
        \'order\' => \'asc\'
    );
    $offer_query = new WP_Query( $args );
    while ( $offer_query->have_posts() ) : $offer_query->the_post();
?>

    <!-- SOME FANCY CONTENT HERE -->

<?php endif; wp_reset_postdata();?>

1 个回复
SO网友:s_ha_dum

将站点从本地移动到live不应影响像这样的查询,因为在这种情况下,没有硬编码的值,如post ID或post SLUG,这些值可能会随着迁移而改变(取决于迁移的方式)。

可以想象的是,页面/页面模板关联被破坏。该信息存储在$wpdb->postmeta 键下的表格_wp_page_template. 根据迁移方式的不同,关联的帖子ID可能与存储在数据库中的不同。您的陈述“…如果我创建另一个页面,使用与其中包含wp\\u查询的模板相同的模板,效果很好”,似乎支持了这一理论。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post