我基于Twentytwelve主题创建了一个新的Wordpress子主题,我在php comment_reply_link和js moveForm函数中遇到了一些问题。
我的问题: 我的评论回复链接在第一次点击时工作正常,评论表格将显示在评论下,我可以添加评论或取消回复。但是当我取消回复时,评论回复链接将不会再次显示。评论回复链接在那里看起来正确,但点击没有任何反应。
评论回复生成的链接示例:
首先点击:
<a class="comment-reply-link" data-onclick="return addComment.moveForm("comment-55", "55", "respond", "129")" href="/ego_fotos_design01/?page_id=129&replytocom=55#respond">Kommentar schreiben</a>
第二次点击:
<a class="comment-reply-link" data-onclick="return addComment.moveForm("comment-55", "55", "respond", "129")" href="/ego_fotos_design01/?page_id=129&replytocom=55#respond">Kommentar schreiben</a>
这是我写的功能:
function createCommentOut($commentID, $author, $date, $content, $commentImageURL, $isChild){
if($isChild){ $commentType = "comment_type_child"; } else { $commentType = "comment_type_parent"; }
//Get the ID from Current page
$postID = getGundualPostID();
ob_start();
?>
<div id="<?php echo 'comment-' . $commentID; ?>" class ="<?php echo $commentType; ?> comment">
<div class="comment_head">
<span class="comment_headline"><?php echo $date; ?> | <strong><?php echo $author ?></strong></span>
</div>
<div class="comment_content">
<?php if($commentImageURL != false) : ?>
<a href=<?php echo $commentImageURL; ?>>
<img src=<?php echo getGundulaCommentThumb($commentImageURL);?>>
</a>
<?php endif; ?>
<span class="text"><?php echo $content;?></span>
</div>
<div id="" class="reply">
<?php
$replyLinkArray = array(
'reply_text' => __( 'Kommentar schreiben' ),
'depth' => isset( $args['args']['depth'] ) ? $args['args']['depth'] : (int) 1,
'max_depth' => isset( $args['args']['max_depth'] ) ? $args['args']['max_depth'] : (int) 2
);
if (!$isChild) {
comment_reply_link($replyLinkArray, $commentID, $postID);
}
?>
</div>
</div>
<?php
$commentContent = ob_get_contents();
ob_end_clean();
return $commentContent;
}
备注:对于未登录的用户,不会显示评论表单。它在页面上,但隐藏(显示:无)。所以这必须或多或少是正确的,因为在第一次点击时,将显示表格。
我的评论表格功能如下:
function twentytwelve_gundula_comment_form($isOnlyVisibleForLoggedInUsers = false){
// Get Current User
$currentUser = wp_get_current_user();
if($isOnlyVisibleForLoggedInUsers && !($currentUser->exists())){
echo '<div style="display: none;">'."\r\n";
}
comment_form();
if($isOnlyVisibleForLoggedInUsers && !($currentUser->exists())){
echo '</div>'."\r\n";
}
}
我认为js moveForm函数出了问题。有人知道出了什么问题吗?