我想自定义Wordpress Contact Form 7(WPCF7)短代码的HTML输出,即[file]
短代码。我不想修改周围的HTML 。
到目前为止,我已通过更改文件/contact-from-7/modules/file.php
的内容来修改HTML输出。
更新插件后,我的更改将会丢失。因此,我希望实施更多永久和强大的解决方案,例如在我的functions.php
中添加过滤器。
我想做什么(伪代码 - 未经测试的代码):
add_filter('wpcf7_file_shortcode_handler', 'my_file_sc_handler');
function my_file_sc_handler($html) {
$html = sprintf('<div>my own html</div>');
return $html;
}
我只需要更改返回的$html
- 无需触及wpcf7_file_shortcode_handler
函数的剩余代码。
我的问题:如何自定义[file]
短代码的Wordpress Contact Form 7 HTML输出,以便在更新插件时我的更改不会丢失?
答案 0 :(得分:1)
基于评论等,虽然我没有一个可靠的答案,但我想您可以通过此链接找到您正在寻找的答案:
http://www.featheredowl.com/contact-form-7-submit-button-element/
本教程介绍如何操纵[submit]
短代码,使用<input type="submit">
到<button>
元素。
使用此基础,您可以根据需要自定义[file]
输出。
虽然这确实需要编辑核心文件,但似乎也开始着手通过函数处理插件的升级。
希望它有所帮助!
答案 1 :(得分:0)
首先,更改任何插件的核心文件是一个非常糟糕的主意。
如果它只是您要更改的HTML输出,为什么不在提供的编辑器中更改它,请参阅下面的示例:
<div class="row">
<div class="col-md-6">
<p>Name<br />
[text your-name] </p>
</div>
<div class="col-md-6">
<p>Email*<br />
[email* your-email] </p>
</div>
</div>
<div class="row">
<div class="col-md-12">
<p>Enquiry<br />
[textarea your-message] </p>
<p>[submit "Send"]</p>
</div>
</div>
你几乎可以改变一切!
答案 2 :(得分:0)
您无法直接在模板文件中插入联系表单短代码。您需要将代码传递给do_shortcode()函数并像这样显示其输出
<?php echo do_shortcode( '[contact-form-7 id="7" title="Contact"]' ); ?>