更改显示在查看源站点中,但不显示在实时站点中

时间:2017-01-06 作者:Adam

实时链接:http://beertournament.com/

在源代码中键入yyyy以查看源代码的相关部分。如果您将鼠标悬停在实时站点上的“树屋”上,您应该有一个url,但如果查看源代码,您应该会看到另一个url。

第一个想法是首页是缓存的,但我目前没有实时缓存插件。

以下是代码部分(如果有帮助):

`<?php if ( !is_page() ) :
        $author_posts_url = the_author_link();
            $posts_by_title   = sprintf(
            __( \'Posts by %1$s ( @%2$s )\', \'p2-breathe\' ),
            get_the_author_meta( \'display_name\' ),
            get_the_author_meta( \'user_nicename\' )
        ); ?>
    <a href="<?php echo esc_url( $author_posts_url ); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="author-avatar">
        <?php echo get_avatar( $author_posts_url ); ?>
    </a>
    <?php endif; ?>

    <div class="entry-meta">
        <?php if ( ! is_page() ) : ?>
            <a href="<?php echo esc_url( the_author_link() ); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="entry-author"><?php the_author(); ?></a>
        <?php endif; ?>
        <span class="entry-date">`
更新了评论中的屏幕截图链接。

更新1:更新到此代码。。。。

<?php if ( !is_page() ) :
            $author_posts_url = the_author_link();
        $posts_by_title   = sprintf(
        __( \'Posts by %1$s ( @%2$s )\', \'p2-breathe\' ),
        get_the_author_meta( \'display_name\' ),
        get_the_author_meta( \'user_nicename\' )
    ); ?>
<a href="<?php echo esc_url( $author_posts_url ); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="author-avatar">
    <?php echo get_avatar( $author_posts_url ); ?>
</a>
<?php endif; ?>

<div class="entry-meta">
    <?php if ( ! is_page() ) : ?>
        <a href="<?php echo get_author_posts_url(the_author_ID()); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="entry-author"><?php the_author(); ?></a>
    <?php endif; ?>
    <span class="entry-date">
更新2-以下是内容。php代码:http://pastebin.com/QHH24ha2

1 个回复
SO网友:Johansson

您正在一个已打开的锚定标记内回传作者链接生成器,这会导致错误。请尝试以下代码:

Method 1

<?php if ( !is_page() ) :
        $author_posts_url = the_author_link();
            $posts_by_title   = sprintf(
            __( \'Posts by %1$s ( @%2$s )\', \'p2-breathe\' ),
            get_the_author_meta( \'display_name\' ),
            get_the_author_meta( \'user_nicename\' )
        ); ?>
    <a href="<?php echo esc_url( $author_posts_url ); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="author-avatar">
        <?php echo get_avatar( $author_posts_url ); ?>
    </a>
    <?php endif; ?>

    <div class="entry-meta">
        <?php if ( ! is_page() ) : ?>
            <a href="<?php echo get_author_posts_url(); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="entry-author"><?php the_author(); ?></a>
        <?php endif; ?>
        <span class="entry-date">
注意到我替换了echo esc_url( the_author_link() ); 具有get_author_posts_url() 它将只返回URL,而不是完整的锚。

您可能还想使用get_author_posts_url(the_author_ID()) 如果代码一开始不起作用。

Method 2

如果您没有在循环中运行此代码,并且无权访问作者ID,则可以更改以下行:

<a href="<?php echo esc_url( the_author_link() ); ?>" title="<?php echo esc_attr( $posts_by_title ); ?>" class="entry-author"><?php the_author(); ?></a>
收件人:

<?php the_author_link(); ?>
它仍将返回指向作者页的链接,但没有class="entry-author" 我认为这并不是什么好事,因为你可以调整你的css来达到同样的效果。

相关推荐

Can you set a role as author?

我是WordPress的新手,我正在尝试找出如何最好地设置权限。我想限制人员组只编辑某些页面(IT部门只编辑IT页面,人力资源部门只编辑人力资源页面等等)。据我所知,您取消了角色“编辑其他页面”的权限,然后将页面的作者设置为您要编辑的人。是否有一种设置多个作者的标准方法,或者是否有一种使角色成为作者而不是单个用户的方法?谢谢