Php 有没有办法将foreach循环转换为wp_查询?
我使用php foreach循环直接从数据库加载项目,但我想使用wp_查询循环,因为这样可以更好地控制分页和页面上的最大项目数 我尝试将代码转换为wp_查询循环,但没有得到很好的结果。我能做什么Php 有没有办法将foreach循环转换为wp_查询?,php,mysql,wordpress,Php,Mysql,Wordpress,我使用php foreach循环直接从数据库加载项目,但我想使用wp_查询循环,因为这样可以更好地控制分页和页面上的最大项目数 我尝试将代码转换为wp_查询循环,但没有得到很好的结果。我能做什么 <?php global $wpdb; $table_name = $wpdb->prefix . "kv_beoordelingen"; $beoordelingen = $wpdb->get_results("SELECT * FROM `{$table_name}` \n".
<?php
global $wpdb;
$table_name = $wpdb->prefix . "kv_beoordelingen";
$beoordelingen = $wpdb->get_results("SELECT * FROM `{$table_name}` \n". "ORDER BY `{$table_name}`.`dateSince` DESC LIMIT 42");
if( $beoordelingen ) {
foreach ( $beoordelingen as $beoordeling ) {
//vars
$beschrijving = $beoordeling->description;
?>
<?php
$beoordeling_query = new WP_Query(array(
'post_type' => $beoordeling,
'posts_per_page' => -1,
'order' => 'DESC',
'orderby' => 'date',
'paged' => get_query_var('paged'))); ?>
<?php if ( $beoordeling_query->have_posts() ) : ?>
<?php while ( $beoordeling_query->have_posts() ) : $beoordeling_query->the_post();
if( $beschrijving ) {
echo "<p><strong>Ervaring</strong><br/> ".$beschrijving." </p>";
}
endwhile; ?>
<?php wp_reset_postdata(); ?>
</div>
<?php endif; ?
<?php };
} else {
echo "Geen beoordelingen beschikbaar";
} ?>
首先,向我们展示您实际尝试过的代码。我刚刚更新了我尝试过的代码;-)您不一定需要替换foreach循环,如果使用WP\u Query::get\u posts()
将当前结果集获取为数组,则应该能够或多或少地保持该循环WP_Query
仍然可以处理剩余的分页逻辑。但是如果你想使用经典的WP“theloop”功能,基本原理在很多地方都有解释,比如@misorude好吧,我可以使用foreach循环而不是WP_查询。但是用foreach循环分页怎么样?为什么现在有两个循环,这没有什么意义。您需要在foreach循环之前进行查询/从中获取结果。分页可以独立于循环进行处理。