gpt4 book ai didi

php - 将一个 div 分成 1 列以上

转载 作者:太空宇宙 更新时间:2023-11-04 15:24:28 26 4
gpt4 key购买 nike

我正在使用 Contact Forms 7在 wordpress 安装中创建联系表单。创建的表单位于 here

Contact Form 扩展是免费、灵活且易于使用的。但问题是,无论一个表单包含多少个字段,它总是只创建一个 div,因此页面长度变长(请参阅我创建的表单)

我挖掘代码并以 contact-form-7\includes\classes.php 结尾.负责生成表单html的代码是

/* 生成表单 HTML */

function form_html() {
global $wpcf7;

$form = '<div class="wpcf7" id="' . $this->unit_tag . '">';

$url = wpcf7_get_request_uri();

if ( $frag = strstr( $url, '#' ) )
$url = substr( $url, 0, -strlen( $frag ) );

$url .= '#' . $this->unit_tag;

$url = apply_filters( 'wpcf7_form_action_url', $url );

$class = 'wpcf7-form';

if ( $this->is_posted() ) {
if ( empty( $wpcf7->result['valid'] ) )
$class .= ' invalid';
elseif ( ! empty( $wpcf7->result['spam'] ) )
$class .= ' spam';
elseif ( ! empty( $wpcf7->result['mail_sent'] ) )
$class .= ' sent';
else
$class .= ' failed';
}

$class = apply_filters( 'wpcf7_form_class_attr', $class );

$enctype = apply_filters( 'wpcf7_form_enctype', '' );

$form .= '<form action="' . esc_url_raw( $url ) . '" method="post"'
. ' class="' . esc_attr( $class ) . '"' . $enctype . '>' . "\n";

$form .= $this->form_hidden_fields();

$form .= $this->form_elements();

if ( ! $this->responses_count )
$form .= $this->form_response_output();

$form .= '</form>';

$form .= '</div>';

return $form;
}

我正在寻找一些方法,以便我可以

  • 划分 <div class="wpcf7"分为 3 个包含大致相同的 div字段数

  • 或插入 <div>在 < form action=" 之间某处让我可以大约(不完全)相等地水平扩展我的表格 div's

我要遵循的其他格式位于 here

更新:

  • 我正在使用 Eunoia 主题和短代码,例如 [one_third first]应用 CSS 和页面结构不起作用,对我来说,它使感觉插件使用相同的“[标签]”结构
  • 我尝试添加 div表单代码中的元素,但仍然没有发生了,尽管在页面的源代码中,这些 div标 checkout 现...

想到另一个问题我的主题代码像 [some theme code]它们不起作用,只是在页面上输出...我可以使用它的任何建议??

有人可以建议我解决这个问题的方法吗?一些粗略的想法,一些指导方针,这样我就可以尝试编写代码......

谢谢..

最佳答案

如果您可以将您的字段放入一个零索引数组中,这将达到目的(phpFiddle):

$fields=array('F1','F2','F3','F4','F5','F6','F7','F8');
$fieldCount=count($fields);
$column=0;
$columnCount=3;
//All columns have this many fields
$perColumn=floor($fieldCount/$columnCount);
//This many fields left over (to be distributed over the first columns)
$extras=$fieldCount - $perColumn*$columnCount;
$i=0; //All fields iterator
$j=0; //Column fields iterator
$columnFieldCount=$perColumn;
if($extras>$column)$columnFieldCount++;
echo '
<style>.column{float:left; width:25%;}</style>
<div class="column">';
for($i=0; $i<$fieldCount;$i++)
{
echo '
<p>'.$fields[$i].'</p>';
$j++;
if($j>=$columnFieldCount)
{
$j=0;
$column++;
$columnFieldCount=$perColumn;
if($extras>$column)$columnFieldCount++;
echo '
</div><div class="column">';
}
}
echo '
</div>';

关于php - 将一个 div 分成 1 列以上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14205735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com