Programación
está resueltoCon el código que coloco lo utilizo en varios blog para presentar en el sidebar varios titulares de posts publicados en mis otros blogs, recogiendo el feed. Pero a pesar del condicional inicial < ?php if(function_exists('fetch_feed')), cuando el blog de donde se recoge el feed no está online por alguna circunstancia,en el sidebar del sitio en donde deberían aparecer los títulos se produce un mensaje de error de PHP que hace que, desde ese sitio en adelante ya no se muestre nada en el blog.
¿Alguien podría darme una mano y ver que pieza de código añadir para que no suceda este error?
despues de crear el objeto feed podrias probar la condicion:
if (!is_wp_error( $feed ))
pero aviso que no lo probé
Gracias, intentaré probarlo.
No, no funciona ese condicional.
¿Dónde lo has puesto?
Intenta esto:
<?php if(function_exists('fetch_feed')) {
// hay que incluir esto
include_once(ABSPATH . WPINC . '/feed.php');
// el feed que queremos mostrar
$feed = fetch_feed('http://nombredelblog.es/feed');
if (!is_wp_error( $feed )) {
// especificamos el número de items a mostrar
$limit = $feed- >get_item_quantity(5);
// se crea un array con los items
$items = $feed- >get_items(0, $limit);
if ($limit == 0) echo '< div >El feed está vacío o no disponible.< /div >';
else foreach ($items as $item) : ?>
<div>
<a href="<?php echo $item- >get_permalink(); ?>" >
<?php echo $item- >get_title(); ?>
</div>
<?php endforeach;
}
}
?>
Revisa bien que al copiar de tu código puede faltar algo.
Un saludo
¿Qué te parece si colocas todo el código dentro del if inicial?
... tal como ha puesto LGrusin ...¿Qué te parece si colocas todo el código dentro del if inicial?
LGrusin, después de tres intentos, FUNCIONA el condicional if (!is_wp_error( $feed ). Algún corchete no estaba yo cerrando o algo. Copie el código tal como lo pusiste y funcionó. Ahora si el feed está roto o la web está desactivada no se muestra nada (por supuesto), pero tampoco se me daña el blog. Muchas Gracias por tu ayuda.
Debes Identificarte para publicar.