您需要的是两个新容器:一个用于单行字段,一个用于textarea。查看默认的注释表单,我们可以看到它们的开始和结束标记应该出现在哪里。为了便于查看,我添加了一些评论:
<form action="<?php echo site_url( \'/wp-comments-post.php\' ); ?>" method="post" id="<?php echo esc_attr( $args[\'id_form\'] ); ?>">
<?php do_action( \'comment_form_top\' ); ?>
<?php if ( is_user_logged_in() ) : ?>
<?php echo apply_filters( \'comment_form_logged_in\', $args[\'logged_in_as\'], $commenter, $user_identity ); ?>
<?php do_action( \'comment_form_logged_in_after\', $commenter, $user_identity ); ?>
<?php else : ?>
<?php echo $args[\'comment_notes_before\']; ?>
<?php
do_action( \'comment_form_before_fields\' );
// Fields: author, email, url
foreach ( (array) $args[\'fields\'] as $name => $field ) {
echo apply_filters( "comment_form_field_{$name}", $field ) . "\\n";
}
do_action( \'comment_form_after_fields\' );
?>
<?php endif; ?>
<?php
// Field: textarea
echo apply_filters( \'comment_form_field_comment\', $args[\'comment_field\'] ); ?>
<?php echo $args[\'comment_notes_after\']; ?>
<p class="form-submit">
<input name="submit" type="submit" id="<?php echo esc_attr( $args[\'id_submit\'] ); ?>" value="<?php echo esc_attr( $args[\'label_submit\'] ); ?>" />
<?php comment_id_fields( $post_id ); ?>
</p>
<?php do_action( \'comment_form\', $post_id ); ?>
</form>
我们需要第一个开始标签
\'comment_form_top\'
. 不迟,因为我们必须捕获登录用户的情况关闭该标签,然后打开上的第二个标签
\'comment_form_after_fields\'
.最后,我们在
\'comment_form_field_comment\'
. 这是一个过滤器,不是一个操作在下面的示例代码中,我抛出了一个
style
元素添加到标记中。在您的主题中,您应该将CSS放入样式表中。您应该使用自己选择的clearfix处理程序,而不是我在这里使用的标记。:)
add_action( \'comment_form_top\', \'wpse_67805_open_tag\' );
function wpse_67805_open_tag()
{
?>
<style>
@media screen and (min-width: 800px) {
.wpse-67805-comment-fields,
.logged-in-as {
float: left;
width: 280px;
}
.wpse-67805-comment-textarea {
float: right;
width: 280px;
}
.wpse-67805-textarea-after {
clear: both;
}
}
</style>
<div class="wpse-67805-comment-fields">
<?php
}
add_action( \'comment_form_after_fields\', \'wpse_67805_open_close_tag\' );
add_action( \'comment_form_logged_in_after\', \'wpse_67805_open_close_tag\' );
function wpse_67805_open_close_tag()
{
?></div><div class="wpse-67805-comment-textarea"><?php
}
add_filter( \'comment_form_field_comment\', \'wpse_67805_close_tag\' );
function wpse_67805_close_tag( $textarea )
{
return "$textarea</div><div class=\'wpse-67805-textarea-after\'></div>";
}
结果为2111
不太漂亮,你必须调整CSS。但现在应该清楚了一般的方法。