Wordpress Contact Form 7自定义短代码的HTML输出

时间:2015-02-10 09:18:12

标签: php html wordpress wordpress-plugin contact-form

我想自定义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输出,以便在更新插件时我的更改不会丢失?

3 个答案:

答案 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"]' ); ?>