Soporte » Guías – Resolución de problemas » Nombre de autor no se muestra en la cabecera del post

  • Resuelto alenprei

    (@alenprei)


    Hola,

    Llevo tiempo trabajando sobre una hijo que he creado a partir de la plantilla Zerif.

    He modificado el single.php y el content-title.php para personalizar la estructura de los posts del blog de manera que en la cabecera aparezca debajo del título la categoría a la que pertenece, la fecha de publicación y el nombre del autor. El problema que por algún motivo el nombre del autor no se muestra. He probado con otra plantilla por defecto de WordPress y si se muestra. ¿Alguna idea?

    Código del single.php

    <?php
    /**
     * The Template for displaying all single posts.
     *
     * @package zerif-lite
     */
    get_header(); ?>
    
    <div class="clear"></div>
    
    </header> <!-- / END HOME SECTION  -->
    <?php zerif_after_header_trigger(); ?>
    
    <div id="content" class="site-content">
    
    	<div class="full-width-container">
    		<?php
    		get_template_part( 'content-title');
    		?>
    	</div>
    
    	<div class="container">
    		<?php zerif_before_single_post_trigger(); ?>
    		<div class="content-left-wrap col-md-12">
    			<?php zerif_top_single_post_trigger(); ?>
    			<div id="primary" class="content-area">
    				<main itemscope itemtype="http://schema.org/WebPageElement" itemprop="mainContentOfPage" id="main" class="site-main">
    				<?php
    				while ( have_posts() ) :
    					the_post();
    
    						get_template_part( 'content', 'single' );
    
    						the_post_navigation(
    							array(
    								'next_text' => _x( '%title <span class="meta-nav">&rarr;</span>', 'Next post link', 'zerif-lite' ),
    								'prev_text' => _x( '<span class="meta-nav">&larr;</span> %title', 'Previous post link', 'zerif-lite' ),
    							)
    						);
    
    						// If comments are open or we have at least one comment, load up the comment template
    					if ( comments_open() || '0' != get_comments_number() ) :
    						comments_template( '' );
    						endif;
    					endwhile; // end of the loop.
    					?>
    				</main><!-- #main -->
    			</div><!-- #primary -->
    			<?php zerif_bottom_single_post_trigger(); ?>
    		</div><!-- .content-left-wrap -->
    		<?php zerif_after_single_post_trigger(); ?>
    		
    	</div><!-- .container -->
    <?php get_footer(); ?>
    

    Código del content-title.php

    
    <?php
    /**
     * Content used in single.php
     *
     * @package zerif-lite
     */
    ?>
    <!--<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>-->
    
    	<header class="banner-image">
    
          	<?php the_post_thumbnail('banner-image'); ?>
               		
          	<div class="entry-title"> 
         		<h1><?php the_title(); ?></h1>
         		<p><?php the_category(', '); ?><p>
            	<p><?php zerif_posted_on(); ?></p>
    
    	</header><!-- .entry-header -->
    
    <!--</article>-->
    
    • Este debate fue modificado hace 3 años, 9 meses por alenprei.
    • Este debate fue modificado hace 3 años, 9 meses por alenprei.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 2 respuestas - de la 16 a la 17 (de un total de 17)
  • Moderador LGrusin

    (@lgrusin)

    El problema es que estás sacando el autor fuera del while del single y lo quieres poner fuera.

    Si eso es así tendrás que usar algún invento del tipo:

    <?php
    global $post;
    printf(
    sprintf('<span class="author vcard"><a class="url fn n" href="%1$s">%2$s</a></span>',
    esc_url( get_author_posts_url( get_the_author_meta('ID' , $post->post_author) ) ),
    esc_html( get_the_author_meta('display_name' , $post->post_author))
     )
    ); ?>

    De otra forma no podrás mostrar el autor.

    Un saludo

    Iniciador del debate alenprei

    (@alenprei)

    @lgrusin Eso es lo que me temía… De hecho, ¡tu solución ha funcionado! Muchas gracias por la ayuda 🙂

Viendo 2 respuestas - de la 16 a la 17 (de un total de 17)
  • El debate ‘Nombre de autor no se muestra en la cabecera del post’ está cerrado a nuevas respuestas.