Запустите контактную форму короткого кода в ловушке — фрагмент кода WordPress

Хорошо, это моя первая попытка использования PHP / фрагментов кода, поэтому я заранее извиняюсь, если я не в порядке!

У меня есть веб-сайт WordPress с плагином недвижимости, который позволяет зарегистрированному пользователю связываться с агентом (арендодателем, если хотите). Я хотел бы расширить плагин для использования моей собственной контактной формы (я использую контактную форму плагина 7), чтобы мы получали электронную почту, а не агента (затем мы связывались бы с агентом от имени пользователя)

Я нашел крючок контакт-агента ниже, выполнив поиск по коду плагина

      /**
* single_property_contact_agent
*/
public function single_property_contact_agent()
{
$property_form_sections = ere_get_option('property_form_sections', array('title_des', 'location', 'type', 'price', 'features', 'details', 'media', 'floors', 'agent'));
$hide_contact_information_if_not_login = ere_get_option('hide_contact_information_if_not_login', 0);
if ($hide_contact_information_if_not_login == 0) {
if (in_array('contact', $property_form_sections)) {
ere_get_template('single-property/contact-agent.php');
}
} else {
if (is_user_logged_in()) {
if (in_array('contact', $property_form_sections)) {
ere_get_template('single-property/contact-agent.php');
}
} else {
?>
<p class="ere-account-sign-in"><?php esc_attr_e('Please login or register to view contact information for this agent/owner', 'essential-real-estate'); ?>
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal"data-target="#ere_signin_modal">
<?php esc_html_e('Login', 'essential-real-estate'); ?>
</button>
</p>
<?php
}
}

}

Моя идея состоит в том, чтобы использовать фрагмент кода ниже, чтобы подключиться к вышеупомянутому и вместо этого загрузить нашу форму (используя шорткод контактной формы)

add_action('single_property_contact_agent', 'reg_form_before_content');

function reg_form_before_content() {

echo do_shortcode('[contact-form-7 id="524" title="Register Interest"]');

}

В настоящее время ничего не происходит, поэтому я, возможно, далеко от цели, что здесь возможно, но если кто-то может помочь, я был бы всегда благодарен

Большое спасибо!

0

Решение

Говоря концептуально, вы на высоте. Я думаю, что это более или менее WordPress Way ™: подключение к действиям и фильтрам для изменения вывода / поведения. Так что браво тебе там.

Беда в том, что функция Вы нацеливаетесь, не выполняет никаких вызовов apply_filter('filter_name', $data), или же do_action('hook_name', $var),

Во многих кодах WordPress есть хитрая норма, в которой имя функции является также именем фильтра или действия. Но это совпадение.


Все это, как говорится, вы можете посмотреть на источник ere_get_template функция. Может быть, это использует своего рода наследование шаблонов типа WooCommerce
делает
.

То есть — если вы создаете шаблон относительно папки вашей темы с именем single-property/contact-agent.php, он может проверить предоставленный вами шаблон, прежде чем использовать его по умолчанию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector