我已经找到了这个问题,我以前没见过它。如果这是一个重复的问题,我很抱歉。
我已经对我的自定义数据库表进行了复杂的查询,现在我有一系列wordpress帖子ID。
现在我想用the_loop向他们展示,但我无法做到这一点。我认为建议您通过ajax显示结果非常重要,因此所有这些功能都在functions.php中(可能这些信息无关紧要)。
目前我用以下内容获取帖子数据:
function imprimirResultados($resultados = null){
if ($resultados){
echo '<div class="resultados">';
foreach ($resultados as $post_id){
$post = get_post( $post_id[0], ARRAY_A );
echo '<div class="post" id="post-'.$post['ID'].'">
<h2><a href="'.$post['guid'].'" rel="bookmark" title="Permanent Link to '.$post['post_name'].'">
'.$post['post_title'].'</a></h2>
<div class="entry">
'.$post['post_excerpt'].'
</div>
</div>';
}
echo '</div>';
var_dump($post);
}else{
echo '<h2 class="center">No encontrado</h2>
<p class="center">Lo sentimos, pero la búsqueda no obtuvo resultados.</p>';
}
}
但这不是一个干净的方法,我不能使用the_loop()生成的对象已有的其他功能。
---------------------------------编辑------------- ------------------
我在这里留下我使用的功能:
function resultadosLigeros_callback(){
(...)
$querystr = cargar_ligeros($marca,$modelo,$combustible,$tipo,$anio); //This function generate a MySQL query
$resultados = $wpdb->get_results($querystr, ARRAY_N);
imprimirResultados($resultados, $querystr);//This function is the one I wrote before
die();
}