Я создаю собственный плагин для wordpress, который будет отображать форму contactform7 на домашней странице.
Рабочий процесс:
1. Пользователь создает форму с помощью contactform7 и копирует шорткод.
2. Пользователи вводят значение / шорткод в форму настройки плагина.
3. Плагин захватывает значение / шорткод с помощью $ _POST ['the-shortcode']
4. Плагин сохраняет значение / шорткод в базе данных wp_options
5.Плагин echo out или do_shortcode для отображения значений / шорткода / формы CF7
Моя проблема: всякий раз, когда я сохраняю короткий код контактной формы 7 через форму настроек плагина
[contact-form-7 id = "4" title = "Контактная форма 1"]
он стал таким: (обратите внимание, есть некоторые \)
[contact-form-7 id = \ "4 \" title = \ "Контактная форма 1 \"]
Я пытался использовать esc_attr (), но это не сработало.
esc_attr ($ _ POST ['шорткод'])
Как сохранить шорткод контактной формы 7 так же, как и в базе данных wp_options, чтобы я мог отображать do_shortcode ('theshortcode')?
Это код для формы настройки плагина:
<?php
global $options;
$cform_shortcode = esc_attr($_POST['cform_shortcode']);
$options['cform_shortcode'] = $cform_shortcode;
update_option('plugin_databasename_db', $options);
$options = get_option('plugin_databasename_db');
$cform_shortcode = $options['cform_shortcode'];
?>
<table>
<tr>
<td scope="row"><label for="tablecell">
Contact Form ShortCode
</label></td>
<td scope="row"><label for="tablecell">
<textarea name="cform_shortcode" id="" cols="80" rows="3"><?php if (isset($cform_shortcode)) {echo $cform_shortcode;} else {'';} ?></textarea>
</label></td>
</tr>
</table>
Это код для внешнего интерфейса:
<?php
global $options;
$options = get_option('plugin_databasename_db');
if ( isset( $options['cform_title'] ) && isset( $options['cform_shortcode'] ) ){ ?>
<p class="wpic-strong"><?php echo $options['cform_title']?></p>
<div class="list-group-item-video">
<?php echo do_shortcode($options['cform_shortcode']); ?>
</div>
<br/>
<?php
} else {
'';
}
?>
do_shortcode
. Итак - ответdo_shortcode('[' . stripslashes($options['cform_shortcode']) . ']');
- person random_user_name   schedule 15.01.2018