未在循环外工作的_Author()

时间:2013-08-20 作者:Raul

索引中有以下代码。php和我希望包含这行代码(下面的代码)以在循环顶部显示作者信息。

 <?php include \'author-top.php\'; ?><!--author-->
我希望它显示在标题后面,如下所示

<?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 -->
这就是我得到的:http://gyazo.com/4154248fa37c84f9cb8f52871f186723.png

当我尝试在索引底部的其他地方使用相同的“php include”时。php代码似乎一切正常。问题是我需要它在顶部,这样它就会显示在小屏幕的顶部。

是不是我做错了什么?或者wordpress不允许在其中使用“php包含”,如果是,为什么不呢。

这是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>

3 个回复
SO网友:Raul

我将在这里回答我自己的问题。

用户信息没有显示的原因是php标记在循环外使用时需要作者ID。

例如,以下标记:

<?php the_author(); ?>
应该是这样的:

<?php the_author_meta(\'display_name\', 1); ?>
This 这里解释得很好。

现在代码工作正常。

SO网友:Brad Dalton

如果在循环外部使用,则必须指定用户ID。

在author top中尝试此操作。php

<?php get_the_author_meta( $field, $userID ); ?> 
必须包含用户ID。

来源http://codex.wordpress.org/Function_Reference/get_the_author_meta

SO网友:mrClean

如果您在一个页面上,您可以使用post_author\'s id。您可以编写:the_author_meta(\'display_name\', $post->post_author ); 这对我来说很好。这样你就不必对id进行硬编码。

结束