J'ai le code suivant sur index.php et je veux inclure cette ligne de code (ci-dessous) pour afficher les informations sur l'auteur en haut de la boucle.
<?php include 'author-top.php'; ?><!--author-->
Je veux qu'il s'affiche juste après l'en-tête, comme indiqué ici
<?php get_header(); ?>
<!--This is where I want my author div to display-->
<?php include 'author-top.php'; ?><!--author-->
<div id="primary" class="content-area">
<div id="content" class="site-content-home" role="main">
<?php if ( is_home() && ! is_paged() ) : ?>
<h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
<?php endif; ?>
<?php if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', 'home' );
?>
<?php endwhile; ?>
<?php spun_content_nav( 'nav-below' ); ?>
<?php elseif ( current_user_can( 'edit_posts' ) ) : ?>
<?php get_template_part( 'no-results', 'index' ); ?>
<?php endif; ?>
</div><!-- #content .site-content -->
</div><!-- #primary .content-area -->
Voici ce que je reçois: http://gyazo.com/4154248fa37c84f9cb8f52871f186723.png
Lorsque j'essaie d'utiliser le même "inclure php" quelque part au bas du code index.php, tout semble bien fonctionner. Le problème, c’est que j’en ai besoin en haut pour que cela apparaisse en haut sur les petits écrans.
Est-ce que je fais quelque chose de mal? ou c’est que wordpress ne permet pas d’utiliser "php includes" et si oui, pourquoi.
Ceci est le contenu à l'intérieur author-top.php
<!-- get author bio **RAUL -->
<!-- This is the author info displayed at the top of each page -->
<div id="author-bio">
<div class="author-image"><?php echo get_avatar( get_the_author_email(), '80' ); ?></div>
<div class="author-txt">
<h2 class="author-name" id="clickme"><?php the_author(); ?></h2>
<p class="toggle author-description"><?php the_author_description(); ?></br>
<a href="http://www.linkedin.com/in/raulmvicente"><img class="author-social" src="http://www.webleria.com/wp-content/themes/spun/images/linkedin_circle_color.png"></a>
<a href="http://www.Twitter.com/raulmvicente"><img class="author-social" src="http://www.webleria.com/wp-content/themes/spun/images/Twitter_circle_color.png"></a>
<a href="https://plus.google.com/116575236589076788314?rel=author"><img class="author-social" src="http://www.webleria.com/wp-content/themes/spun/images/google_circle_color.png"></a></p>
</div>
</div>
<script>
$('#clickme').click(function() { $( '.toggle' ).animate({ "height": "toggle", "opacity": "toggle" }, "slow" )});
</script>
Je vais répondre à ma propre question ici.
La raison pour laquelle les informations utilisateur ne sont pas affichées est parce que les balises php ont besoin de l'identifiant de l'auteur lorsqu'elles sont utilisées hors de la boucle.
Par exemple la balise suivante:
<?php the_author(); ?>
Devrait être comme ça:
<?php the_author_meta('display_name', 1); ?>
Ceci est très bien expliqué ici.
Maintenant, le code fonctionne très bien.
Un ID utilisateur doit être spécifié s'il est utilisé en dehors de la boucle.
Essayez ceci dans author-top.php
<?php get_the_author_meta( $field, $userID ); ?>
Doit inclure l'ID utilisateur.
Source http://codex.wordpress.org/Function_Reference/get_the_author_meta
Si vous êtes sur une seule page, vous pouvez simplement utiliser le post_author
if. Vous pouvez écrire: the_author_meta('display_name', $post->post_author );
qui a bien fonctionné pour moi. De cette façon, vous n'avez pas à coder en dur l'id.