Wordpress - Problemas con la función fetch_feed

He estado desarrollando un sitio de Wordpress en mi máquina local y en mi tema personalizado, implementé un analizador de fuentes RSS (usando tutoriales fuera de la red) ¡y funciona de maravilla!

Sin embargo, vine a poner el sitio en vivo en un servidor de producción y el mismo código simplemente no funciona.

Había copiado todos mis archivos de Wordpress y simplemente volví a ejecutar la instalación eliminando el archivo de configuración. Como todavía estoy probando cosas, actualmente se ubica en una subcarpeta en la carpeta public_html (de hecho, mi instalación local también estaba en una subcarpeta).

Aquí está el código para obtener el feed y analizarlo:

if(function_exists('fetch_feed')) {
    include_once(ABSPATH . WPINC . '/feed.php');
    $feed = fetch_feed('FULL FEED URL HERE');
    $limit = $feed->get_item_quantity(5);
    $items = $feed->get_items(0, 3);
}
if ($limit == 0) {
    echo '<p>The feed is either empty or unavailable.</p>';
} else {
    foreach ($items as $item) :
?>
    <h3>
        <?php echo $item->get_title(); ?><br/>                            
        <small><?php echo $item->get_date('j F Y @ g:i a'); ?></small>
    </h3>  
    <p><?php echo substr($item->get_description(), 0, 140); ?>...</p>
    <p><a href="<?php echo $item->get_permalink(); ?>" title="Read more about <?php echo $item->get_title(); ?>">more</a><p>
<?php
    endforeach;
}
?>

(Tenga en cuenta que no he incluido la URL del feed porque se trata de datos confidenciales. Lo he comprobado y el archivo del feed funciona al 100 %, es totalmente válido para W3C y está configurado en 755 CHMOD)

Ahora nuevamente, este código funciona en mi servidor Apache local, pero no funciona en mi servidor en vivo. el script llega al $límite = $alimentación->get_item_quantity(5); comandos y paradas, rompiendo el resto de la página web.

Intenté eliminarlo y simplemente configurar el segundo parámetro de límite en get_items(); pero el guión aún no pudo superar ese punto.

Un amigo sugirió que podría ser un problema de caché, pero no puedo encontrar un caché para la función de alimentación.

¿Alguna idea amigos?

¡Salud

preguntado el 12 de junio de 12 a las 13:06

Esto requiere una depuración básica primero. por favor haz un error_reporting(~0); ini_set('display_errors', 1); al principio de su guión. Además deberías habilitar el registro de errores y siga el registro de errores. -

Realicé una depuración y obtuve el error de alimentación: WP HTTP Error: no se pudo conectar al host. Ahora esto se vuelve aún más confuso ya que en mi máquina local funciona bien, conectándose a la misma URL de la fuente RSS. ¡La fuente está en el mismo servidor de hígado que está teniendo problemas! Argh -

permitir WP_DEBUG así como esto es wordpress (de lo contrario, WP podría degradar su configuración de registro, o lo arruina de todos modos. Crucemos los dedos WP_DEBUG ayuda). Probablemente ese host no te permita hacer conexiones remotas. Así que buena suerte y pide el apoyo de tu proveedor de alojamiento también. -

Asumí lo mismo acerca de que el host no permite conexiones remotas, ¡pero puedo usar una fuente RSS de BBC UK News sin problemas! -

De acuerdo, entonces el problema es que el servidor DNS de su proveedor de alojamiento probablemente no se resuelve en URL propias. Consulte con el soporte, creo que tienen una pequeña falla en su configuración. Simplemente dígales que también desea acceder a su propio sitio web a través de HTTP desde el servidor. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.