Как использовать другие шорткоды в контактной форме 7-формы? [закрыто]


15

Я заметил, что любой шорткод, который не является частью контактной формы 7 встроенных шорткодов, не работает.

Например: я пытаюсь использовать аккордеонный шорткод между элементами формы в контактной форме 7. Но код не работает.

Как решить эту проблему без редактирования контактной формы 7 основных файлов?


Не уверен, что вы можете сделать это. Шорткоды должны быть на странице или в посте, не так ли? Я не думаю, что вы можете поместить шорткод между элементами формы. Где бы вы их положили? ... в контактной форме 7 настроек? Вы не можете сделать это там AFAIK (если вы не следуете некоторым инструкциям контактной формы 7, о которых я не слышал).
byronyasgur

Ответы:


21

Есть два способа сделать то, что вы хотите. Первый способ - добавить этот код в functions.php плагина Contact Form 7:

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
На самом деле - вы можете добавить фильтр кода в functions.php вашей темы и шорткоды будут работать правильно в форме CF7. Я не могу подтвердить, будет ли работать конкретный (для аккордеона) или нет - я только что протестировал шорткод, который не содержит шорткоды CF7, но в основном все зависит от того, как обрабатывается рассматриваемый шорткод ,
Никола Иванов Николов

10
действительно, простое add_filter( 'wpcf7_form_elements', 'do_shortcode' );добивается цели из моей дочерней темы functions.php.
Эван Маттсон

1
Если вы хотите использовать один и тот же контент в нескольких местах на вашем сайте, лучше создать короткий код (локализуемый при необходимости), чем вырезать и вставлять один и тот же HTML-код повсюду.
Крейг,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.