Fatal error: Cannot redeclare hace()

Inicio Foros WordPress Themes y Diseño Fatal error: Cannot redeclare hace()

Este debate contiene 5 respuestas, tiene 3 mensajes y lo actualizó  LGrusin hace 7 años, 5 meses.

  • Autor
    Publicaciones
  • #21305

    Jorge Mestre
    Participante

    <p>Hola a [email protected], </p>
    <p>Necesito ayuda, en la página me sale este error a partir del segundo post:</p>
    <p>Fatal error: Cannot redeclare hace() (previously declared in /home/bancayempresa/web/wp-content/themes/genesis/lib/structure/hacextiempo.php:6) in /home/bancayempresa/web/wp-content/themes/genesis/lib/structure/hacextiempo.php on line 9</p>
    <p>Por favor, ¿quién me puede orientar qué hacer?</p>
    <p>Un saludo,</p>
    <p>Jorge
    </p>

  • #52484

    imported_fliberty
    Participante

    Lo que sucede es que al parecer se está utilizando dos veces la misma función, en donde estás declarando la función hace tendrías que realizar lo siguiente:

    [quote]if(functions_exists(‘hace’)) {}else{aqui tu funcion}[/quote]

  • #52489

    Jorge Mestre
    Participante

    Gracias Fliberty, pero una pregunta… ¿dónde pego esa línea de código?

    Tengo el fichero hacextiempo.php con la siguiente descripción:

    <?php
    /*
    FUNCION QUE RETORNA EL TIEMPO QUE HACE QUE SE PUBLICÓ ALGO

    function hace(){
    $fa=”Hace “.human_time_diff(get_the_time(‘U’), current_time(‘timestamp’));

    return “$fa “;
    }
    ?>
    */

    Muchas gracias,

    jorge

  • #52490

    imported_fliberty
    Participante

    Haber digamos que tu función comprende esto:
    [quote]function hace(){
    $fa=”Hace “.human_time_diff(get_the_time(‘U’), current_time(‘timestamp’));

    return “$fa “;
    }
    [/quote]

    Lo que tendrías que hacer es:
    [quote]
    if(function_exists(‘hace’)) { } else {
    function hace(){
    $fa=”Hace “.human_time_diff(get_the_time(‘U’), current_time(‘timestamp’));

    return “$fa “;
    }
    }[/quote]

    A mi me sucedió que coloqué el paginador dentro del loop por equivocación y me salia el error xque por cada post se repetia el paginador, y esa es la solución, de esta manera se puede repetir cuantas veces sea y no arroja el error de haber sido declarado previamente.

  • #52562

    Jorge Mestre
    Participante

    Realmente el error persiste y ahora me sale el siguiente error con los cambios que me ahs comentado:

    Fatal error: Call to undefined function hace() in /home/bancayempresa/web/wp-content/themes/genesis/lib/structure/post.php on line 155

    Me he ido a post.php y aparece el siguiente código:
    /**
    * Add the post info (byline) under the title
    *
    * @since 0.2.3
    */
    add_filter(‘genesis_post_info’, ‘do_shortcode’, 20);
    add_action(‘genesis_before_post_content’, ‘genesis_post_info’);
    function genesis_post_info() {

    if ( is_page() )
    return; // don’t do post-info on pages
    include (“hacextiempo.php”);
    $post_info = hace() . __(‘por’, ‘genesis’) . ‘ [post_author_posts_link] [post_comments] [post_edit]’;
    printf( ‘<div class=”post-info”>%s</div>’, apply_filters(‘genesis_post_info’, $post_info) );

    }

    /**

    ¿Alguna sugerencia por favor?

    Un millón de gracias.

  • #52569

    LGrusin
    Miembro

    Por cierto, el código php que se encuentra entre /* y */ no se ejecuta.

    A ver si el problema es que tienes comentada esa función por eso no la encuentra.

    Es decir, el código correcto sería:

    No es lo mismo que has puesto arriba.

    Un saludo

El foro ‘Themes y Diseño’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest