Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/04/2011, 06:59
Avatar de metacortex
metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: Filtrar posts por permalink

Cita:
Iniciado por j_aroche Ver Mensaje
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
  1. $import = array('el array de URLS que sacas de Analytics');
  2.  
  3. foreach($import as $imp) {
  4.     $id = url_to_postid($imp);
  5.     $entradas = get_post($id);
  6.     $resultado .= '<li><a href="'. get_permalink($entradas->ID) .'">'. $entradas->post_title .'</a></li>';
  7. }
  8.  
  9. 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
  1. $import = array('el array de URLs que sacas de Analytics');
  2.  
  3. $mis_entradas = new WP_Query(array(
  4.     'parametros' => 'etc'
  5. ));
  6.  
  7. while ($mis_entradas->have_posts()) {
  8.     $mis_entradas->the_post();
  9.  
  10.     foreach($import as $imp)
  11.         if(get_permalink() != $imp) continue; // Aquí se descarta los que no van
  12.  
  13.     $resultado .= '<li><a href="'. get_permalink() .'">'. get_the_title() .'</a></li>';
  14. }
  15.  
  16. 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().