web-dev-qa-db-fra.com

Modification du thème pour appliquer les co-auteurs plus

J'essaie d'implémenter le Co-Authors Plus Plugin. Il est dit que vous aurez besoin de changer quelques PHP dans le thème. La documentation décrit les modifications .

Je crois avoir trouvé où je devrais le changer dans mon thème. Dans le fichier post-author-info.php:

<?php
/**
 * Post Author Info
 *
 * @package WP Journal
 * @subpackage Include
 */
 ?>

<div id="authorinfo" class="columns alpha omega marT30 marB20">
    <a href="<?php the_author_meta('url'); ?>"><?php echo get_avatar( get_the_author_meta('email'), '80' ); ?></a>
    <h5 class="marB10"><?php _e('By', 'contempo'); ?>: <a href="<?php the_author_meta('url'); ?>"><?php the_author(); ?></a></h5>
    <p><?php the_author_meta('description'); ?></p>
        <div class="clear"></div>
</div>

Je viens d'ajouter cette ligne:

<?php if ( function_exists( 'coauthors' ) ) { coauthors(); } else { the_author(); } ?>

… Semble me donner quelque chose que je veux. "Admin" et "Andrew Gable" sont affichés.

Mais, je ne sais pas comment le relier correctement, ni comment gérer les photos et plusieurs notices biographiques.

2
AndyGable

Je pense que vous cherchez quelque chose comme cet article . C'est assez complet, mais je vais juste couvrir les multiples BIO et avatars. Vous voudrez changer votre code HTML pour cela à la place:

<?php $i = new CoAuthorsIterator(); ?>
<?php while( $i->iterate() ) : ?>
<div id="authorinfo" class="columns alpha omega marT30 marB20">
    <a href="<?php the_author_meta('url'); ?>"><?php echo get_avatar( get_the_author_meta('email'), '80' ); ?></a>
    <h5 class="marB10"><?php _e('By', 'contempo'); ?>: <a href="<?php the_author_meta('url'); ?>"><?php the_author(); ?></a></h5>
    <p><?php the_author_meta('description'); ?></p>
        <div class="clear"></div>
</div>
<?php endwhile; ?>

Ici, nous interagissons à travers les différents auteurs et affichons un avatar et une section BIO pour chacun. Tout contenu ajouté entre les déclarations while et endwhile sera affiché une fois pour chaque auteur.

Vous voudrez peut-être également remplacer l'endroit où il est indiqué By Andrew Gable dans la barre grise au-dessus de la zone auteur (dans votre modèle, cela ressemble probablement à <?php the_author_posts_link() ?>) par <?php coauthors_posts_links(); ?>.

0
shea

Dupliquer puisqu'il est également demandé à: https://stackoverflow.com/questions/15119535/editing-theme-to-apply-co-authors-plus/19566948

J'ai eu un problème similaire et résolu de cette façon:

global $post;
$author_id=$post->post_author;
foreach( get_coauthors() as $coauthor ): ?>
  <div class="entry-author co-author">
    <?php echo get_avatar( $coauthor->user_email, '96' ); ?>
    <h3 class="author vcard"><span class="fn"><a href="<?php echo get_author_posts_url( $coauthor->ID, $coauthor->user_nicename ); ?>"><?php echo $coauthor->display_name; ?></a></span></h3>
    <p class="author-bio"><?php echo $coauthor->description; ?></p>
    <div class="clear"></div>
   </div><!-- .entry-author co-author -->
<?php endforeach;

Veillez à utiliser ce global $post;et la foreach- loop.

Cette fonction affichera une boîte d'auteur contenant une image d'auteur/avatar, un nom d'auteur avec un lien vers ses archives et la biographie de l'auteur. Cependant, vous voudrez peut-être utiliser les classes CSS de votre propre thème.

L'URL bungeshea posted a été utile.

0
rob_st