如何在联系表单7-表单内使用其他短代码?[关闭]


15

我注意到任何不在联系表7内置短代码中的短代码都无法正常工作。

例如:我试图在联系表单7的表单元素之间使用手风琴简码。但是该代码不起作用。

如何在不编辑联系表单7核心文件的情况下解决此问题?


不确定您可以执行此操作。简码必须在页面或帖子中,不是吗。我认为您不能在表单元素之间放置简码。你会把它们放在哪里?...在联系表格7设置中?您无法在AFAIK上做到这一点(除非您遵循我从未听说过的某些联系表7指示)。
byronyasgur 2012年

Answers:


22

有两种方法可以满足您的需求。第一种方法是将此代码添加到Contact Form 7插件的functions.php中:

add_filter( 'wpcf7_form_elements', 'mycustom_wpcf7_form_elements' );

function mycustom_wpcf7_form_elements( $form ) {
$form = do_shortcode( $form );

return $form;
}

这使您可以将短代码直接放入CF7。其次是在联系表单中手动添加带有HTML的手风琴,如下所示:

<!-- begin class .wp-accordion -->
<div class="wp-accordion wpui-light">

    <!-- First tab's panel -->
    <h3 class="wp-tab-title">Tab 1</h3>
    <!-- First tab's contents -->
    <div class="wp-tab-content">
          All the contents of first tab goes here....
    </div><!-- end first tab -->

      <!-- Like so, Second panel -->
      <h3 class="wp-tab-title">Tab 2</h3>
      <div class="wp-tab-content">
            Contents of the second tab
       </div>

</div><!-- end class wp-accordion -->

我认为第二种方法更可取,因为没有修改核心插件文件。希望这对您有所帮助!


4
实际上-您可以在主题的function.php中添加过滤器代码,并且简码可以在CF7表单内正常工作。我无法确定特定的(手风琴)是否可以工作-我只测试了不包含任何CF7短码的短码,但基本上,这全都取决于所讨论的短码的处理方式。
Nikola Ivanov Nikolov

10
确实,add_filter( 'wpcf7_form_elements', 'do_shortcode' );我的孩子主题的functions.php中的技巧很简单。
埃文·马特森

1
如果要在网站上的多个位置使用相同的内容,最好创建一个简码(如有必要,可以本地化),而不是在整个位置剪切和粘贴相同的HTML。
Craig

我已经使用了此代码,但是它不起作用,所以请您帮忙?wordpress.stackexchange.com/questions/359534/…–
拉胡尔·库玛
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.