Solución de problemas con fetch_feed y SimplePie

29 mar 2011, 20:31:57
Vistas: 2.97K
Votos: 3

Tengo una solución muy básica usando fetch_feed() y SimplePie para obtener elementos RSS que funciona en mi localhost, pero por alguna razón is_wp_error() persiste como true en el servidor en vivo. ¿Hay alguna forma de obtener una salida específica sobre la naturaleza del error para poder trabajar hacia una solución en el servidor en vivo?

<?php
  include_once(ABSPATH . WPINC . '/feed.php');
  $rss = fetch_feed( '[rss feed eliminado del ejemplo]' );
  if (!is_wp_error( $rss ) ) :
    $maxitems = $rss->get_item_quantity(5);
    $rss_items = $rss->get_items(0, $maxitems);
    $isc = 'http://dtd.interspire.com/rss/isc-1.0.dtd';
  endif;
?>
<ul class="featured-products">
  <?php if ( $maxitems == 0) : ?>
    <li>No hay elementos.</li>
  <?php else : ?>
    <?php foreach ( $rss_items as $item ) : 
      $image = $item->get_item_tags( $isc, 'thumb'); ?>
      <li>...</li>
    <?php endforeach; ?>
  <?php endif; ?>
</ul>
0
Todas las respuestas a la pregunta 2
1

agrega esto a tu feed

    $rss = fetch_feed( $url );
    if ( is_wp_error( $rss ) ) {
       echo $rss->get_error_message();  <---esto
    } else {
   // haz tus cosas aquí
}

También sugeriría instalar las extensiones de la barra de depuración, como "debug-bar-extender".

29 mar 2011 21:48:46
Comentarios

El nombre de dominio al que intentaba acceder es un alias de otro nombre de dominio. Extraer el feed del dominio principal devolvió los resultados correctamente. Tu respuesta me ayudó a llegar a esta conclusión. Además, siguiendo tu(s) sugerencia(s) encontré Core Control, lo que me permitió monitorear las solicitudes HTTP desde mi servidor y sus estados.

Sampson Sampson
29 mar 2011 22:44:06
0

Esto podría deberse a la depreciación de rss-functions.php. Verifica este error configurando wp-errors en el archivo de configuración de tu sitio en vivo como verdadero (true). Entonces podrías ver el problema. No olvides restablecerlos a falso (false) rápidamente después de verificar.

Utiliza wp-includes/rss.php en su lugar

5 jul 2016 18:54:10