WordPress – Obtener imagen de autor

4 minutos de lectura

avatar de usuario
max lynn

<?php while ( have_posts() ) : the_post(); ?>
    <section class="panel panel-white">
        <div class="row single-post-content">
            <?php if ($category_name !== 'Jobs') { ?>
                <h5 class="author-post__title"><?php the_author() ?></h5>
                <p><?php echo get_the_date(); ?></p>
            <?php }

            the_content();

            if ($category_name !== 'Jobs') { ?>
                <div class="row author-post">
                    <div class="small-12 medium-4 column">
                        <img src="https://stackoverflow.com/questions/40751664/<?php  echo get_avatar(); ?>" alt="" />
                    </div>
                    <div class="small-12 medium-8 column">
                        <h5 class="author-post__title"><?php the_author() ?></h5>
                        <p>
                            Lorem Ipsum has been the industry's standard dummy text
                            ever since the 1500s, when an unknown printer took a
                            galley of type and scrambled it to make a type specimen
                            book. It has survived not only five centuries, but
                            also the leap into electronic typesetting, remaining
                            essentially unchanged. It was popularised in the 1960s
                            with the release of Letraset sheets containing.
                        </p>
                    </div>
                </div>
            <?php } ?>
        </div>
    </section>
<?php endwhile;?>

Estoy tratando de ver el avatar del autor que ha escrito la publicación. Pensé que eso haría que esto funcionara, pero no parece generar la URL correcta y me da un 404 en la imagen.

¿Qué métodos han hecho otras personas para extraer la imagen del avatar?

Estoy buscando una respuesta que me diga cómo hacer eso y si no hay una imagen para no mostrarla.

ACTUALIZAR:

He intentado hacer que esto funcione usando el siguiente código: Debo mencionar que también estoy tratando de hacer que esto funcione en mi máquina local.

echo get_avatar($authorId, 100); 

(la variable utiliza get_the_author_id())

  • He agregado una actualización a mi pregunta.

    –Max Lynn

    22 de noviembre de 2016 a las 21:29

<?php echo get_avatar( $id_or_email, $size, $default, $alt, $args ); ?> 

dónde id_or_email es requerido. Esto falta en tu código. Para más https://codex.wordpress.org/Function_Reference/get_avatar

Entonces, en su código, intente obtener la imagen del autor:

<?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?>

  • Gracias pero he probado esto: echo get_avatar($authorId, 100); y la variable usa get_the_author_id()

    –Max Lynn

    22 de noviembre de 2016 a las 21:20


  • ¿Alguna idea de por qué lo anterior no funciona? Debo mencionar que la identificación devuelve 2

    –Max Lynn

    22 de noviembre de 2016 a las 21:21


  • Esto funcionó para mí, ¡cuando todo lo demás no funcionó! 🙂

    – cooperativas

    11 oct 2019 a las 14:11

Deberá agregar un parámetro para “id_or_email” para obtener el avatar apropiado. Para WordPress 2.7 o anterior, puede usar get_the_author_id(). Para WordPress 2.8 y versiones posteriores, puede usar get_the_author_meta(‘ID’). La función devuelve una cadena o un booleano falso. Puede comparar el valor devuelto para determinar si tiene algún avatar o no. – obtener_avatar

<?php while(have_posts()): ?>
    <?php the_post(); ?>
    <section class="panel panel-white">
        <div class="row single-post-content">
            <?php if($category_name !== 'Jobs'): ?>
                <h5 class="author-post__title">
                    <?php the_author() ?>
                </h5>
                <p><?php echo get_the_date(); ?></p>

                <?php the_content(); ?>

                <div class="row author-post">
                    <div class="small-12 medium-4 column">
                        <?php if($avatar = get_avatar(get_the_author_meta('ID')) !== FALSE): ?>
                            <img src="https://stackoverflow.com/questions/40751664/<?php echo $avatar; ?>" alt="">
                        <?php else: ?>
                            <img src="/images/no-image-default.jpg">
                        <?php endif; ?>
                    </div>
                    <div class="small-12 medium-8 column">
                        <h5 class="author-post__title"><?php the_author() ?></h5>
                        <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing.</p>
                    </div>
                </div>
            <?php else: ?>
                <?php the_content(); ?>
            <?php endif; ?>
        </div>
    </section>
<?php endwhile; ?>

  • ¿Qué cadena se devuelve desde get_avatar()?

    – Daerik

    22 de noviembre de 2016 a las 21:36

  • Maldita sea, me sale esto: Advertencia: Falta el argumento 1 para get_avatar(), llamado en F:\xampp\htdocs\vallum\wp-content\themes\vallum\single.php en la línea 68 y definido en F:\xampp\htdocs\ vallum\wp-includes\pluggable.php en la línea 2266

    –Max Lynn

    22 de noviembre de 2016 a las 21:39


  • ¿Qué se devuelve desde get_the_author_id()?

    – Daerik

    22 de noviembre de 2016 a las 21:42

  • El número 2. Parece estar devolviendo lo correcto. simplemente haciendo eco de este get_avatar() da la advertencia anterior por cierto

    –Max Lynn

    22/11/2016 a las 21:45

  • AHHH, lo estaba poniendo en src=”” en lugar de solo

    –Max Lynn

    22 de noviembre de 2016 a las 21:46

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad