当评论作者匹配帖子的作者时,Wordpress有条件地加载类

时间:2014-08-11 04:31:37

标签: php html css wordpress

我希望能够有条件地加载一个包含单词' AUTHOR'在评论部分中,作为帖子作者的人的姓名旁边。我知道这与课堂上的内容有关,我到目前为止所做的是:

<?php if $class == 'bypostauthor' ?>
    <div class="author">AUTHOR</div> 
<? endif; ?>

更多信息:

在我的wordpress帖子页面的评论部分,只要帖子页面的作者在帖子页面上发表评论,就会出现班级.bypostauthor,为评论部分中的一个评论提供此信息 - &gt;

<li class="comment byuser comment-author-admin bypostauthor odd alt thread-odd thread-alt depth-1 clearfix" id="li-comment-28">

        <div class="comment-block" id="comment-28">
            <div class="comment-inside-block">
            <div class="comment-info">  
                <div class="comment-author vcard clearfix">

                    <img alt="" src="http://0.gravatar.com/avatar/6dbfd7e6bd95881c5736647c8736dd89?s=32&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&amp;r=G" class="avatar avatar-32 photo" height="32" width="32">                  
                    <div class="comment-meta commentmetadata">
                        <cite class="fn"><a href="http://trentaughey.com" rel="external nofollow" class="url">Trent Aughey</a></cite>                       
                        <div style="clear:both;"></div>
                        <a class="comment-time" href="http://trentaughey.com/test/#comment-28">  1 day ago   </a>                   </div>
                </div>
            <div class="clearfix"></div>
            </div>

            <div class="comment-text">
                <p>comment – 2</p>
                <p class="reply">
                    <a class="comment-reply-link" href="/test/?replytocom=28#respond" onclick="return addComment.moveForm(&quot;comment-28&quot;, &quot;28&quot;, &quot;respond&quot;, &quot;570&quot;)">Reply</a>              </p>
            </div>
            </div>


        </div>
<ul class="children">
    <li class="comment byuser comment-author-admin bypostauthor even depth-2 clearfix" id="li-comment-29">

        <div class="comment-block" id="comment-29">
            <div class="comment-inside-block">
            <div class="comment-info">  
                <div class="comment-author vcard clearfix">

                    <img alt="" src="http://0.gravatar.com/avatar/6dbfd7e6bd95881c5736647c8736dd89?s=32&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&amp;r=G" class="avatar avatar-32 photo" height="32" width="32">                  
                    <div class="comment-meta commentmetadata">
                        <cite class="fn"><a href="http://trentaughey.com" rel="external nofollow" class="url">Trent Aughey</a></cite>                       
                        <div style="clear:both;"></div>
                        <a class="comment-time" href="http://trentaughey.com/test/#comment-29">  1 day ago   </a>                   </div>
                </div>
            <div class="clearfix"></div>
            </div>

            <div class="comment-text">
                <p>HELLO</p>
                <p class="reply">
                                    </p>
            </div>
            </div>


        </div>

当帖子的非作者对帖子发表评论时,使用以下代码

<li class="comment even thread-even depth-1 clearfix" id="li-comment-20">

        <div class="comment-block" id="comment-20">
            <div class="comment-inside-block">
            <div class="comment-info">  
                <div class="comment-author vcard clearfix">

                    <img alt="" src="http://0.gravatar.com/avatar/6dbfd7e6bd95881c5736647c8736dd89?s=32&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&amp;r=G" class="avatar avatar-32 photo" height="32" width="32">                  
                    <div class="comment-meta commentmetadata">
                        <cite class="fn"><a href="http://trentaughey.com/" rel="external nofollow" class="url">Trent Aughey</a></cite>                      
                        <div style="clear:both;"></div>
                        <a class="comment-time" href="http://trentaughey.com/test/#comment-20">  1 month ago   </a>                 </div>
                </div>
            <div class="clearfix"></div>
            </div>

            <div class="comment-text">
                <p>Test, Test</p>
                <p class="reply">
                    <a class="comment-reply-link" href="/test/?replytocom=20#respond" onclick="return addComment.moveForm(&quot;comment-20&quot;, &quot;20&quot;, &quot;respond&quot;, &quot;570&quot;)">Reply</a>              </p>
            </div>
            </div>


        </div>

我试图完成“AUTHOR&#39;在帖子名称的作者旁边,只要他们在那里发表评论。每当页面作者在他的页面上发表评论时,考虑bypostauthor类我会尝试使用以下代码,以便在帖子作者评论时有条件地出现div类 - &gt;

<li <?php comment_class('clearfix'); ?> id="li-comment-<?php comment_ID() ?>">

    <div class="comment-block" id="comment-<?php comment_ID(); ?>">
        <div class="comment-inside-block">
        <div class="comment-info">  
            <div class="comment-author vcard clearfix">

                <?php echo get_avatar( $comment->comment_author_email, 32 ); ?>

                <div class="comment-meta commentmetadata">
                    <?php printf(__('<cite class="fn">%s</cite>', 'playne'), get_comment_author_link()) ?><?php if $class == 'bypostauthor' ?>
    <div class="author">AUTHOR</div> 
<? endif; ?>

                    <div style="clear:both;"></div>
                    <a class="comment-time" href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ) ?>">  <?php echo themeblvd_time_ago_1(); ?>   </a><?php edit_comment_link(__('(Edit)', 'playne'),'  ','') ?>
                </div>
            </div>
        <div class="clearfix"></div>
        </div>

        <div class="comment-text">
            <?php comment_text() ?>
            <p class="reply">
                <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
            </p>
        </div>
        </div>
        <?php if ($comment->comment_approved == '0') : ?>
            <em class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.', 'playne') ?></em>
        <?php endif; ?>    

    </div>

我的代码修复没有任何作用,任何人都可以告诉我,我做错了。

2 个答案:

答案 0 :(得分:1)

我能够使用以下代码解决此问题:

function author_tag() {
$classes = get_comment_class();
if(in_array('bypostauthor',$classes)) {
    $output = '<div class="author-tag"><p>AUTHOR</p></div>';
} /*else {
    $output = '<div class="author-tag"><p>NOT AUTHOR</p></div>';
}*/
return $output;}

按如下方式放置功能:

<li <?php comment_class('clearfix'); ?> id="li-comment-<?php comment_ID() ?>">

    <div class="comment-block" id="comment-<?php comment_ID(); ?>">
        <div class="comment-inside-block">
        <div class="comment-info">  
            <div class="comment-author vcard clearfix">

                <?php echo get_avatar( $comment->comment_author_email, 32 ); ?>

                <div class="comment-meta commentmetadata">
                    <?php printf(__('<cite class="fn">%s</cite>', 'playne'), get_comment_author_link()) ?>

                    <?php echo author_tag(); ?>

                    <div style="clear:both;"></div>
                    <a class="comment-time" href="<?php echo esc_url( get_comment_link( $comment->comment_ID ) ) ?>">  <?php echo themeblvd_time_ago_1(); ?>   </a><?php edit_comment_link(__('(Edit)', 'playne'),'  ','') ?>
                </div>
            </div>
        <div class="clearfix"></div>
        </div>

        <div class="comment-text">
            <?php comment_text() ?>
            <p class="reply">
                <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
            </p>
        </div>
        </div>
        <?php if ($comment->comment_approved == '0') : ?>
            <em class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.', 'playne') ?></em>
        <?php endif; ?>    

    </div>

希望这可以帮助任何有类似问题的人。

答案 1 :(得分:1)

您可以过滤评论作者姓名,而不是向核心文件添加内容。您的更改将在WordPress更新中被覆盖。

mp3