1

我在这里有一个非常简单的 php 循环(见下文),并希望两个喜欢和不喜欢计数器出现在 img 类“yearofstudy”之后。但是,文本不会出现在图像之后。即使它放在实际的 HTML 之后。

Comments 上的 Like 和 Dislike 必须在 tis 函数中才能工作,因为它会在它们显示的地方创建一个 WP 循环。基本上,我需要帮助重新安排它,以便喜欢和不喜欢出现在循环中,但在图像之后。

非常感谢任何帮助,我已经盯着这个看了几个小时,并且已经在网上查看了所有内容,但仍然没有找到任何东西。

// Add the comment meta (saved earlier) to the comment text 
// You can also output the comment meta values directly in comments template  

add_filter( 'comment_text', 'modify_comment');
function modify_comment( $text ){

    $plugin_url_path = WP_PLUGIN_URL;

    if( $commenttitle = get_comment_meta( get_comment_ID(), 'title', true ) ) {
        $commenttitle = '<strong>' . esc_attr( $commenttitle ) . '</strong><br/>';
        $text = $commenttitle . $text;
    } 

    if( $commentrating = get_comment_meta( get_comment_ID(), 'rating', true ) ) {
        $commentrating = '<p class="comment-rating">    <img src="'. $plugin_url_path .
        '/ExtendComment/images/'. $commentrating . 'star.gif" class="yearofstudy" /></p><br />';


        $text = $text . $commentrating;
        return $text;   

    // LIKE AND DISLIKE ON COMMENTS     
    if(function_exists('like_counter_c')) { like_counter_c('text for like'); }

    if(function_exists('dislike_counter_c')) { dislike_counter_c('text for dislike'); }     
    }

}

编辑:

尽管 RecoveringSince2003 提供的答案确实有效并显示了喜欢和不喜欢的内容,但它不允许这些函数出现在 html 图像 yearofstudy 之后。它出现在之前,这不是我所追求的。

有关示例,请参见此处,确保向下滚动以查看评论/评论:http ://universitycompare.com/universities/anglia-ruskin-university

4

1 回答 1

0

乍一看,你有

if( $commentrating = get_comment_meta( get_comment_ID(), 'rating', true ) ) {
    $commentrating = '<p class="comment-rating">    <img src="'. $plugin_url_path .
    '/ExtendComment/images/'. $commentrating . 'star.gif" class="yearofstudy" /></p><br />';

    $text = $text . $commentrating;
    return $text;   // <-- terminating the execution

    // following code is never being executed
    // LIKE AND DISLIKE ON COMMENTS     
    if(function_exists('like_counter_c')) { like_counter_c('text for like'); }
    if(function_exists('dislike_counter_c')) { dislike_counter_c('text for dislike'); }     
}

所以。该return语句正在终止函数的执行,之后的其余代码return永远不会到达。我不知道这些函数调用是什么/如何工作,但如果你想执行这些if(function_exists('like_counter_c'))行,那么将你的return语句移到这些行之后,比如

$text = $text . $commentrating;
if(function_exists('like_counter_c')) { like_counter_c('text for like'); }
if(function_exists('dislike_counter_c')) { dislike_counter_c('text for dislike'); }
return $text;

更新 :

在您的图像标签中添加一些样式,例如(通过修改类也有其他方法**yearofstudy**

<img src="'. $plugin_url_path .
    '/ExtendComment/images/'. $commentrating . 'star.gif" class="yearofstudy" style="float:right" />
于 2013-10-17T23:20:10.243 回答