Wordpress Contact Form 7 自定义 HTML 简码输出

Wordpress Contact Form 7 customize HTML output of shortcodes

我想自定义 Wordpress Contact Form 7 (WPCF7) 简码本身的 HTML 输出,即 [file] 简码。我不想修改周边HTML.

到目前为止,我已经通过更改文件 /contact-from-7/modules/file.php.

的内容修改了 HTML 输出

当我更新插件时,我的更改将会丢失。所以我想实施一个更永久稳健的解决方案,比如在我的functions.php.[=18=中添加一个过滤器]

我想做什么(伪代码-未经测试的代码):

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 输出,这样我的更改就不会丢失我更新插件了?

首先,更改任何插件的核心文件是一个非常糟糕的主意。

如果您只是想更改 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>

你几乎可以改变一切!

根据评论等,虽然我没有一个可靠的答案,但我想你可能会在这个 link:

中找到你正在寻找的答案

http://www.featheredowl.com/contact-form-7-submit-button-element/

本教程介绍了如何将 [submit] 简码从 <input type="submit"> 转换为 <button> 元素。

在此基础上,您可以根据需要自定义 [file] 输出。

虽然这确实需要编辑核心文件,但它似乎也着手通过功能处理插件的升级。

希望对您有所帮助!

您不能将联系表单短代码直接插入到您的模板文件中。您需要将代码传递给 do_shortcode() 函数并像这样显示它的输出

    <?php echo do_shortcode( '[contact-form-7 id="7" title="Contact"]' ); ?>