Title: Error función
Last modified: 13 de diciembre de 2025

---

# Error función

 *  ResueltoModerador [almendron](https://es.wordpress.org/support/users/almendron/)
 * (@almendron)
 * [hace 10 meses](https://es.wordpress.org/support/topic/error-funcion/)
 * El error se produce muy de vez en cuando en [https://www.almendron.com/tribuna/archivo-por-autores/](https://www.almendron.com/tribuna/archivo-por-autores/)
 * No ocasiona la caída de la página ni parece afectar a su funcionamiento salvo
   el hecho de que aparece en los logs de errores.
 *     ```wp-block-code
       PHP Fatal error: Uncaught Error: Object of class WP_Error could not be converted to string in .../page-templates/autores.php (115)
       ```
   
 * El código arranca en:
 *     ```wp-block-code
       $terms = get_terms( array( 'taxonomy' => 'autor', 'orderby' => 'slug', 'number' => $per_page, 'offset' => $offset, 'paged' => $paged ) );
       ```
   
 * Seguidamente hay un «foreach» y el error se produce dentro de esta estructura
   en la siguiente línea:
 *     ```wp-block-code
       $tag_left .= '<li><a href="'. get_term_link($term->slug, 'autor') . '" title="' . $term->count . ' artículos">'. $term->name . '</a></li>' . "\n";
       ```
   
 * No puedo precisar si el error proviene de «get_term_link($term->slug, ‘autor’)»,«
   $term->count» o de «$term->name». Lo que he hecho ha sido añadir una condición:
 *     ```wp-block-code
       $value1 = get_term_link($term->slug, 'autor');$value2 = $term->count;$value3 = $term->name;if ( (!is_wp_error($value1)) and (!is_wp_error($value2)) and (!is_wp_error($value3)) ) {.....}
       ```
   
 * ¿Es adecuada esta solución? Esa es la cuestión que planteo.
    -  Este debate fue modificado hace 10 meses por [almendron](https://es.wordpress.org/support/users/almendron/).
    -  Este debate fue modificado hace 10 meses por [almendron](https://es.wordpress.org/support/users/almendron/).

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)

 *  Moderador [Sergio](https://es.wordpress.org/support/users/kallookoo/)
 * (@kallookoo)
 * [hace 10 meses](https://es.wordpress.org/support/topic/error-funcion/#post-12225910)
 * Hola [@almendron](https://es.wordpress.org/support/users/almendron/)
 * Mejor así:
 *     ```wp-block-code
       $tag_left = ''; // Definicion (vacia) para no crear un ul o ol vacio.if ( $terms && is_array( $terms ) ) {	foreach ( $terms as $term ) {		// Comprueba que es un term (clase WP_Term).		if ( ! is_a( $term, '\WP_Term' ) ) {			continue;		}		$term_link = get_term_link( $term );		// Comprueba que se genero correctamente.		if ( is_wp_error( $term_link ) || empty( $term_link ) ) {			continue;		}		// Uso sprintf() para un mejor entendimiento, se puede cambiar por la version original.		$tag_left .= sprintf( 			'<li><a href="%s" title="%s artículos">%s</a></li>', 			esc_url( $term_link ), 			esc_attr( $term->count ), 			esc_html( $term->name ) 		); // Eliminado el salto de linea, (basura en HTML)	}}// Comprobacion final y se crea el ul o lo que uses.if ( ! empty( $tag_left ) ) {	// Modifica el ul al gusto.	$tag_left = '<ul>' . $tag_left . '</ul>';}
       ```
   
    -  Esta respuesta fue modificada hace 10 meses por [almendron](https://es.wordpress.org/support/users/almendron/).
 *  Moderador [almendron](https://es.wordpress.org/support/users/almendron/)
 * (@almendron)
 * [hace 10 meses](https://es.wordpress.org/support/topic/error-funcion/#post-12225916)
 * Muchas gracias, Sergio.

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)

 El debate ‘Error función’ está cerrado a nuevas respuestas.

 * En: [Guías – Resolución de problemas](https://es.wordpress.org/support/forum/manuales-y-resolucion-de-problemas/)
 * 2 respuestas
 * 2 participantes
 * Última respuesta de: [almendron](https://es.wordpress.org/support/users/almendron/)
 * Última actividad: [hace 10 meses](https://es.wordpress.org/support/topic/error-funcion/#post-12225916)
 * Estado: resuelto

## Debates

### Debates populares

### Debates sin respuestas

### Debates que no son soporte

### Debates resueltos

### Debates no resueltos

### Todos los debates
