Cita:
Iniciado por j_aroche codig0, oh que curiosa función.
netovs, puedes probar buscando solo el post-slug en la base de datos... sería un tanto menos pesado que la función que comenta codig0.
¿post-slug?
Si te refieres a la tabla post_name, ésta -como todas las demás- ya están incluidas en la consulta que hace el loop.
Todo lo que esté relacionado con acciones selectivas entre posts debe hacerse
dentro del loop. Caso contrario sería ejecutar la misma consulta dos veces.
En el caso de netovs, debe hacer su consulta de forma normal, con el detalle de que esos resultados serán comparados con los de una fuente externa.
La idea de codig0 es la mejor opción porque se obtienen las ID's de forma directa y no hay que darle muchas vueltas al asunto (muy bien codig0):
Código PHP:
Ver original$import = array('el array de URLS que sacas de Analytics');
foreach($import as $imp) {
$id = url_to_postid($imp);
$entradas = get_post($id);
$resultado .= '<li><a href="'. get_permalink($entradas->ID) .'">'. $entradas->post_title .'</a></li>';
}
echo $resultado;
Otra opción, aparentemente más grande pero -a mi parecer- distribuye un poquito mejor el trabajo de background entre PHP y la BD:
Código PHP:
Ver original$import = array('el array de URLs que sacas de Analytics');
$mis_entradas = new WP_Query
(array( 'parametros' => 'etc'
));
while ($mis_entradas->have_posts()) {
$mis_entradas->the_post();
foreach($import as $imp)
if(get_permalink() != $imp) continue; // Aquí se descarta los que no van
$resultado .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>';
}
echo $resultado;
Ahí se empleó WP_Query directamente (lo uso para evitar conflictos cuando se hacen varios en una misma página) pero igual funciona con query_posts() y get_posts().