我需要一份VoodooPress的联系表。通常我使用cforms。它的功能非常强大,但对于一个简单的表单来说似乎太强大了。我决定这次试试Contact form 7插件。我遇到了一些挑战,让它与我的21岁儿童主题完美结合。但这是一次很酷的学习经历。让我们看看我做了什么。除了二十一岁以外,还有很多信息可能对你的主题有所帮助,它只是专注于此。
请注意,下面显示的代码发生了一些我无法理解的事情。某些代码位被解析为数字1。您可以看到,所有缺少的是显示字段的CF7插件的代码位。我希望你能继续这样做。
显然,这里的第一步是安装并激活插件。然后继续设置表单。您可以使用默认值,也可以创建自己的表单。我不打算详细介绍如何配置表单,因为他们的网站上有很多相关信息。但需要注意的一点是,您可能希望稍微更改表单的布局。我真的不喜欢默认的布局。以下是您获得的代码:
<p>您的姓名(必填)<br/></p><p>您的电子邮件(必填)<br/>[电子邮件*您的电子邮件]</p><p>主题<br/></p><p>您的信息<br/>[textarea your-message]</p><p>[提交“发送”]</p>
对我来说,它似乎没有那么多语义,所以我继续重做了。你真的只需要把东西放在方括号里,剩下的就由你决定了。因此,这是上面的表格,以我喜欢的方式再次布局。
<fieldset class=“name”><label>您的姓名(必填)</label></fieldset><fieldset class=“email”>[电子邮件*您的电子邮件]<label>您的电子邮件(必填)</label></fieldset><fieldset class=“subject”><label>主题</label></fieldset><fieldset class=“message”>[textarea your-message]<label>您的信息</label></fieldset><fieldset class=“submit”>[提交“发送”]</fieldset>
当然你不需要遵循这一点,我只是想告诉你,你可以在插件的表单编辑区随意编写代码。而且,类在字段集上是不必要的,可以说是字段集。我把它们放在那里是出于习惯,以防以后我想把它们都设计好。我现在甚至都不用。
在我设置好表单后,我注意到布局太糟糕了,放得太温和了。我们在这里有三个主要问题来控制我们自己的布局。尽管我们使用的是一个二十岁的儿童主题,但二十岁的表单css正在作用于我们的表单。此外,联系人表单7也有自己的样式。最后还有一个自动功能,它在源代码中添加了段落和换行符。
我想做的第一件事就是摆脱二十岁的影响。这很容易。这里有很多方法可以完成相同的任务,但目标是确保页面上的表单不再位于entry-content-div类中。我认为最简单的方法是制作页面模板。如果您不熟悉页面模板,请阅读!它们非常有用。此页面模板是二十个(来自WP 3.1)page.php和loop-page.php的组合。我只是将所有内容合并到一个文件中。我在这里只换了一行。我在这里更改了div class=条目内容:
<h1 class=“entry-title”><?php the_title();?></h1><?php}?><div class=“entry-content”><?php the_content();?>
阅读div class=“表单内容”。我只将此页面用于联系人表单,所以我只需要在条目内容中删除条目内容表单,因为它是二十种样式的表单。如果我不太清楚,或者你只是想看看我做了什么,看看完整的模板
<?php(电话)/*模板名称:联系人表单*/获取页眉();?><div id=“container”><div id=“content”role=“main”><?php if(have_posts())while(haver_posts)):the_post();?><div id=“post-<?php the_id();?>”<?php post_class();?>><?php if(is_front_page()){?><h2 class=“entry-title”><?php the_title();?></氢气><?php}其他{?><h1 class=“entry-title”><?php the_title();?></h1><?php}?><div class=“form-content”><?php the_content();?><?php wp_link_pages(数组('before'=>'<div class=“page-link”>'.__('pages:','twentyten'),'after'=>'</div>');?><?php edit_post_link(__('编辑','twentyten'),'<span class=“edit-link”>','</span>');?></div><!--。条目内容--></div><!--#发布-##--><?php comments_template(“”,true);?><?php endwhile;//循环结束。?></div><!--#内容--></div><!--#容器--><?php get_sidebar();?><?php get_footer();?>
您只需将其保存为名为contact.php的子主题中的一个新文件,并将其应用于页面,就可以解决大部分样式问题。
接下来是Contact Forms 7样式。我们可以非常容易地摆脱它。只需将其放入您的函数.php:
//DEREGISTER联系人表格7样式add_action('wp_print_styles','voodoo_delectrister_styles',100);函数voodoo_disregister_styles(){wp_deregister_style(“联系人表单-7”);}
现在,如果你计划让Contact Forms 7处理你的造型,那很酷。但我想做我自己的。是的,我也会很快与大家分享。但是请记住,在前面的两个步骤之后,您的表单上就没有css了。它看起来很恶心。但这很酷。让我们解决最后一个问题,然后你就可以开始做造型了。我会给你看我自己的表格css,里面塞满了css3。
好吧,现在二十年代的默认造型没有我们的掌控。而且我们没有Contact Form 7的默认样式。为什么表单看起来仍然有一些样式?这是因为有一个自动功能,可以自动在源代码中插入段落和换行符。如果您从浏览器中查看输出源,就会看到它们。让我们来获取它们!您需要在主机上使用ftp或文件管理器来适应这一步骤。我们将编辑wp-config.php。我的规则是,在没有备份的情况下,千万不要接触这个文件。备份了吗?很好!您只需向下滚动,找到底部的停止编辑快乐博客行,并在该行上方添加一行代码,使其看起来像这样:
define('WPCF7_AUTOP',false);//设置为false以删除<br>标记/*就这些,停止编辑!快乐博客*/
我的朋友们,就是要把你的联系方式上的外部影响剥离掉。如果你现在查看你的联系形式,你会非常讨厌它。根本没有造型!现在,您可以自由地将自己的样式添加到子主题的style.css中,并使其按您的预期实际工作。想看看我的吗?当然!就像我之前说的,里面塞满了CSS3的糖果。阴影、Alphas、渐变,甚至webkit浏览器的动画。我觉得它们很好地结合了大胆但不过分的风格。如果你还没有接触过CSS3,那就有好消息了。对于尚不支持它的浏览器,一切都会很好地降级。它在那些这样做的浏览器上非常酷,在IE等浏览器上看起来是一个很好的干净表单。你可以在我的联系人页面上看到它。不管怎样,这是我的css,请注意,只有当你像我上面那样填写表格时,这才有效!你可以有不同的主题,当然,我实际上有更多。只需要匹配布局样式。
/*联系表7特定人员*/.wpcf7型{左边距:50像素;背景:#9e9786;背景:rgba(1581511340.6);填充:15px;边界:无;-webkit-border-radius:7px;-moz边界半径:7px;-o边半径:7px;边距:7px;}.wpcf7表单字段集{边距:0 0 10px 0;}.wpcf7-form字段集标签{显示:块;font-weight:粗体;线高:1.4;颜色:#666;颜色:rgba(0、0、0和0.6);文本阴影:0 1px 1px#fff;左边边距:10px;}.wpcf7-form字段集:last-child{边距:0;}.wpcf7-form fieldset输入[type=“text”],.wpcf7-form字段集文本区域{宽度:215px;填充:5px 8px;字体大小:1.2em;颜色:#666;边界:无;背景图片:-webkit-gradient(线性,0%0%,0%12%,从(#999)到(#fff));背景图像:-moz-liner-gradient(0%12%90deg,#fff,#999);背景:#FFFFFF url('images/grad.jpg')left top repeat-x;方框阴影:rgba(0,0,0,0.1)0px 0px 8px;-moz-box-shadow:rgba(0,0,0,0.1)0px 0px 8px;-webkit-box阴影:rgba(0,0,0,0.1)0px 0px 8px;-webkit-border-radius:4px;-moz边界半径:4px;-o边半径:4px;边距:4px;}.wpcf7-form字段集文本区域{宽度:430px;}.wpcf7表单输入[type=“submit”]{填充:8px 15px;字体系列:Helvetica,Arial,sans-serif;font-weight:粗体;线路高度:1;颜色:#444;边界:无;文本阴影:0 1px 1px rgba(2552552550.85);背景图片:-webkit-gradient(线性,0%0%,0%100%,从(#fff)到(#bbb));背景图像:-moz-liner-gradient(0 100%90deg,#fff,#bbb);背景:#FFFFFF url('images/grad.jpg')左上重复-x;-webkit-border-radius:23px;-moz边界半径:23px;-o边半径:23px;边距:23px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,1.5);-moz-box-shadow:0 1px 2px rgba(0,0,0,1.5);方框阴影:0 1px 2px rgba(0,0,0,0.5);}.wpcf7-form fieldset input[type=“text”]:焦点,.wpcf27-form字段集文本区域:焦点,.wpcf7-form fieldset input[type=“text”]:悬停,.wpcf27-form字段集文本区域:悬停{边框:1px实心#401f1f;-webkit-box-shadow:0 0 12px rgba(64、31、31、0.5);-moz-box-shadow:0 0 12px rgba(64、31、31、0.5);箱阴影:0 0 12px rgba(64,31,31,0.5);}@-webkit-关键帧脉冲{0% {-webkit-box-shadow:0 0 12px rgba(64、31、31、0.2);}50% {-webkit-box-shadow:0 0 12px rgba(64、31、31、0.9);}100% {-webkit-box-shadow:0 0 12px rgba(64、31、31、0.2);}}.wpcf7-form fieldset input[type=“text”]:焦点,.wpcf7-form字段集文本区域:焦点{-webkit-animation:脉冲1.5s无限缓入;}.wpcf7-form fieldset input[type=“submit”]:悬停,.wpcf7-form fieldset input[type=“submit”]:焦点{-webkit-animation:脉冲1.5s无限缓入;}
真是满眼都是,嗯?那里有很多很酷的东西要看。如果你不太了解CSS3或样式表单,那么谷歌就是你的朋友。这是我学到一切的地方。还有一点需要注意的是,我的css将跨站点设计所有Contact Form 7表单。如果您想以单个表单为目标,则需要将.wpcf7-form替换为为每个表单获取的特定于表单的ID。您可以在浏览器源代码中看到它。
这就是清理CSS影响和使表单样式化的方法。作为对那些坚持到最后的人的一点奖励,这里有一个性能改进。默认情况下,Contact Form 7在每个页面上加载它的javascript。如果页面上没有表单,我们不需要加载它。查看functions.php文件的以下小片段:
//取消登记联系人表格7所有页面上的脚本,无表格add_action('wp_print_scripts','voodoo_disregister_javascript',100);函数voodoo_delectrister_javascript(){if(!is_page('contact-us')){wp_deregister_script(“合同格式-7”);}}
这对我很有用。它只加载我的联系人表单页面上的脚本,该页面名为“contact-us”。显然,您需要将其替换为页面名称。如果您有多个页面,这很酷,只需确保将它们放在数组中,例如:
//注意:这只是上面块中的一行,用于说明使用阵列if(!is_page(数组('contact-us','contact-them','conact-someone-else')){
就这样。在这里,你有联系方式7的来龙去脉,并将其用于21岁的儿童主题。我希望你学到了一些东西。我知道我今天做了!