РЕДАКТИРОВАТЬ: полностью изменены, чтобы отразить новую информацию, полученную для более непосредственного решения проблемы.
Читая ваши комментарии выше, я вполне уверен, что мы ищем неправильную функцию для редактирования. Элемент-обертка отсутствует в опубликованной вами функции, и именно поэтому он должен быть включен.
как только вы найдете этот блок кода, мы можем отредактировать его, чтобы найти наличие данных поста, которые бы указывали на то, что страница загружается после отправки формы (я не могу обещать, что это не вызовет его вызвать в неправильное время, если на этой странице более одной формы) и записать в атрибуте style, чтобы перезаписать значение по умолчанию, если проверено значение true.
Где-то в этом плагине будет что-то, определяющее элемент-оболочку форм
$html = '<div id="some-unique-id" class="some-class-name">';
Вы можете разбить эту строку и поставить тест для данных публикации, добавив атрибут встроенного стиля, если он найден
$html = '<div id="some-unique-id" class="some-class-name"'; //tag left open
if(isset($_POST) && (count($_POST))){ //Some Post Data Exists
$html .= ' style="display:block;"'; //Add display overwrite
}//Some Post Data Exists
$html .= '>'; //close the tag
Тест, который мы здесь выполняем, это if(isset($_POST) && (count($_POST))){
, который проверяет, чтобы убедиться, что A) $_POST
существует и B) у него есть хотя бы один элемент (это использует жонглирование типов для преобразования числового результата из count()
в его логический эквивалент (где все, что больше 0, будет проверять true
)
Теперь, как я уже упоминал, на этой странице может быть несколько форм, и, возможно, впоследствии она будет отображаться, что автоматически отобразит вашу контактную форму, если вы не хотите, чтобы она отображалась. Исходя из примера, который вы предоставили в комментарии, похоже, что эта функция существует в классе. Если искомый блок кода существует в одном и том же классе, возможно, можно использовать атрибут id
, чтобы ограничить проверку отправкой данных из интересующей вас формы.
$html = '<div id="some-unique-id" class="some-class-name"';
//Check for contact form specific post data
//(if $this->id is within scope and still the same)
if(isset($_POST) && (isset($_POST['p01-contact' . $this->id]))){
$html .= ' style="display:block;"'; //Add display overwrite
}//Post Data Exists
$html .= '>';
В этом тесте мы надеемся, что $this
существует и атрибут id
из $this
такой же, как и в то время, когда форма была изначально нарисована, поэтому мы можем искать данные постов, связанные с конкретная контактная форма. (имя, которое мы ищем, основано на примере кода, который вы разместили в качестве комментария)
К сожалению, не глядя на источник сайта / плагина, я не смогу сказать вам, где вы можете найти то, что ищете. Как только вы обнаружите, что хотя бы один из этих двух сценариев должен позаботиться о вашей проблеме.
Это общедоступный плагин, на который мы могли бы взглянуть, или что-то разработанное собственными силами?