Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Alto
/
fenix_catheter
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit e45ca20f
authored
2022-09-13 19:30:26 +0300
by
Alto
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Реализация форм обратных связей
1 parent
15750e6a
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
496 additions
and
47 deletions
.htaccess
wp-content/themes/fenixmedica/assets/js/jquery/jquery.min.js
wp-content/themes/fenixmedica/assets/js/script.js
wp-content/themes/fenixmedica/footer.php
wp-content/themes/fenixmedica/functions.php
wp-content/themes/fenixmedica/header.php
wp-content/themes/fenixmedica/inc/shprics.php
wp-content/themes/fenixmedica/index.php
wp-content/themes/fenixmedica/page-backvoices.php
wp-content/themes/fenixmedica/style.css
.htaccess
View file @
e45ca20
...
@@ -3,5 +3,14 @@
...
@@ -3,5 +3,14 @@
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.
<
IfModule
mod_rewrite.c
>
RewriteEngine
On
RewriteRule
.* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase
/
RewriteRule
^index\.php$ - [L]
RewriteCond
%{REQUEST_FILENAME} !-f
RewriteCond
%{REQUEST_FILENAME} !-d
RewriteRule
. /index.php [L]
</
IfModule
>
# END WordPress
# END WordPress
\ No newline at end of file
\ No newline at end of file
wp-content/themes/fenixmedica/assets/js/jquery/jquery.min.js
View file @
e45ca20
This diff could not be displayed because it is too large.
wp-content/themes/fenixmedica/assets/js/script.js
View file @
e45ca20
$
(
document
).
ready
(
$
(
document
).
ready
(
function
()
function
()
{
{
$
(
'form.ajax-submit'
).
on
(
'submit.fenix'
,
function
(
event
)
{
event
.
preventDefault
();
event
.
stopPropagation
();
if
(
$
(
this
).
hasClass
(
'needs-validation'
))
$
(
this
).
toggleClass
(
'was-validated'
,
$
(
this
).
get
(
0
).
checkValidity
());
var
action
=
$
(
this
).
attr
(
'action'
);
$
.
ajax
(
{
method
:
'POST'
,
url
:
action
,
data
:
$
(
this
).
serialize
(),
context
:
$
(
this
),
beforeSend
:
function
(
xhr
){
$
(
this
).
find
(
'.form-preloader'
).
removeClass
(
'd-none'
);
},
success
:
function
(
data
,
textStatus
,
jqXHR
)
{
var
error_text
=
[];
$
(
jqXHR
.
responseText
).
filter
(
'.wp-die-message'
).
each
(
function
()
{
error_text
.
push
(
$
(
this
).
text
());
}
);
if
(
error_text
.
length
>
0
)
$
(
'#alertModalBody'
).
html
(
error_text
.
join
());
else
{
var
text_alert
=
''
;
switch
(
$
(
this
).
attr
(
'id'
))
{
case
'form_backvoices'
:
case
'form_backvoices_big'
:
text_alert
=
'<p class="m-0">Заявка на звонок принята!</p>'
;
break
;
case
'form_fenix-shprics'
:
text_alert
=
'<p class="m-0">Ваше обращение принято на рассмотрение!</p>'
;
$
(
this
).
find
(
'input[type="hidden"][name="comment"]'
).
val
((
new
Date
).
getTime
());
break
;
default
:
text_alert
=
'<p class="m-0">Спасибо за отзыв!</p>'
;
break
;
}
$
(
'#alertModalBody'
).
html
(
text_alert
);
$
(
this
).
find
(
'input[type="checkbox"]'
).
prop
(
'checked'
,
false
);
$
(
this
).
find
(
'input[type="text"]'
).
val
(
''
);
$
(
this
).
find
(
'input[type="email"]'
).
val
(
''
);
$
(
this
).
find
(
'textarea'
).
val
(
''
);
}
},
error
:
function
(
jqXHR
,
textStatus
,
errorThrown
)
{
var
error_text
=
[];
$
(
jqXHR
.
responseText
).
filter
(
'.wp-die-message'
).
each
(
function
()
{
error_text
.
push
(
$
(
this
).
text
());
}
);
$
(
'#alertModalBody'
).
html
(
'<p class="m-0">'
+
(
error_text
.
length
==
0
?
'Ошибка отправки данных.'
:
error_text
.
join
()
)
+
'</p>'
);
},
complete
:
function
(
jqXHR
,
textStatus
)
{
$
(
'.captcha-refrash'
).
trigger
(
'click.fenix'
);
$
(
this
).
find
(
'.form-preloader'
).
addClass
(
'd-none'
);
if
(
$
(
this
).
attr
(
'id'
)
===
'form_backvoices'
)
$
(
'#backvoicesModal'
).
modal
(
'hide'
);
$
(
this
).
removeClass
(
'was-validated'
);
$
(
'#alertModal'
).
modal
(
'show'
);
}
}
);
event
.
preventDefault
();
return
false
;
}
);
//Маска ввода телефона
//Маска ввода телефона
$
(
'input[name="phone"]'
).
inputmask
({
"mask"
:
"+7 (999) 999-99-99"
});
$
(
'input[name="phone"]'
).
inputmask
({
"mask"
:
"+7 (999) 999-99-99"
});
}
}
...
...
wp-content/themes/fenixmedica/footer.php
View file @
e45ca20
...
@@ -60,8 +60,8 @@
...
@@ -60,8 +60,8 @@
?>
?>
</div>
</div>
<div
class=
"col-3 p-0 text-end"
>
<div
class=
"col-3 p-0 text-end"
>
<
button
class=
"btn btn-lg btn-style-0 rounded-pill me-4 d-inline-block"
role=
"button"
>
+7 (8652) 22-25-09
</button
>
<
a
href=
"tel:88652991199"
class=
"btn btn-lg btn-style-0 rounded-pill me-4 d-inline-flex"
role=
"button"
>
+7 (8652) 22-25-09
</a
>
<button
class=
"btn btn-lg btn-style-1 rounded-pill d-inline-block"
role=
"button"
data-icon=
"phone"
></button>
<button
class=
"btn btn-lg btn-style-1 rounded-pill d-inline-block"
role=
"button"
data-icon=
"phone"
data-bs-toggle=
"modal"
data-bs-target=
"#backvoicesModal"
></button>
</div>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"row"
>
...
...
wp-content/themes/fenixmedica/functions.php
View file @
e45ca20
...
@@ -86,3 +86,162 @@ function action_setup_theme() {
...
@@ -86,3 +86,162 @@ function action_setup_theme() {
);
);
}
}
add_action
(
'after_setup_theme'
,
'action_setup_theme'
);
add_action
(
'after_setup_theme'
,
'action_setup_theme'
);
function
my_custom_init
(){
//Добавляю поддержку форматов статей для страниц
add_post_type_support
(
'page'
,
'post-formats'
);
}
add_action
(
'init'
,
'my_custom_init'
);
add_filter
(
'pre_comment_on_post'
,
'truemisha_verify_comment'
);
function
truemisha_verify_comment
(
$commentdata
)
{
if
(
isset
(
$_POST
[
'author'
])
&&
empty
(
$_POST
[
'author'
]
)
)
{
wp_die
(
'Укажите Ваше имя!'
);
}
if
(
isset
(
$_POST
[
'phone'
])
&&
empty
(
$_POST
[
'phone'
]
)
)
{
wp_die
(
'Укажите телефон!'
);
}
if
(
!
isset
(
$_POST
[
'accept'
])
||
empty
(
$_POST
[
'accept'
]
)
)
{
wp_die
(
'Согласитесь с обработкой Ваших персональных данных!'
);
}
$post
=
get_page_by_path
(
'backvoices'
);
$post_main
=
get_page_by_path
(
'main'
);
if
(
$post
===
null
)
wp_die
(
'Ошибка сервера при полученни данных формы'
);
elseif
(
isset
(
$_POST
[
'comment_post_ID'
])
===
false
)
wp_die
(
'Ошибка сервера при полученни данных о форме'
);
elseif
(
(
int
)
$_POST
[
'comment_post_ID'
]
==
(
int
)
$post
->
ID
||
(
int
)
$_POST
[
'comment_post_ID'
]
==
(
int
)
$post_main
->
ID
)
{
}
unset
(
$post_main
,
$post
);
return
$commentdata
;
}
add_action
(
'comment_post'
,
'truemisha_save_comment_field_data'
);
function
truemisha_save_comment_field_data
(
$comment_id
)
{
if
(
!
empty
(
$_POST
[
'phone'
]
)
){
$phone
=
sanitize_text_field
(
$_POST
[
'phone'
]);
add_comment_meta
(
$comment_id
,
'phone'
,
$phone
);
}
}
// Добавляем новый метабокс на страницу редактирования комментария
add_action
(
'add_meta_boxes_comment'
,
'extend_comment_add_meta_box'
);
function
extend_comment_add_meta_box
(
$comment
){
add_meta_box
(
'wrap'
,
'Дополнительные поля'
,
'extend_comment_meta_box'
,
'comment'
,
'normal'
,
'high'
);
}
// Отображаем наши поля
function
extend_comment_meta_box
(
$comment
){
$phone
=
get_comment_meta
(
$comment
->
comment_ID
,
'phone'
,
true
);
wp_nonce_field
(
'extend_comment_update'
,
'extend_comment_update'
,
false
);
?>
<p>
<label
for=
"phone"
>
Телефон
</label>
<input
type=
"text"
name=
"phone"
value=
"
<?php
echo
esc_attr
(
$phone
);
?>
"
class=
"widefat"
/>
</p>
<?php
}
add_action
(
'edit_comment'
,
'extend_comment_edit_meta_data'
);
function
extend_comment_edit_meta_data
(
$comment_id
)
{
if
(
!
isset
(
$_POST
[
'extend_comment_update'
]
)
||
!
wp_verify_nonce
(
$_POST
[
'extend_comment_update'
],
'extend_comment_update'
)
)
return
;
if
(
!
empty
(
$_POST
[
'phone'
])
){
$phone
=
sanitize_text_field
(
$_POST
[
'phone'
]);
update_comment_meta
(
$comment_id
,
'phone'
,
$phone
);
}
else
delete_comment_meta
(
$comment_id
,
'phone'
);
}
add_action
(
'comment_post'
,
'author_new_comment_notify'
,
10
,
2
);
function
author_new_comment_notify
(
$comment_ID
,
$comment_approved
){
$comment
=
get_comment
(
$comment_ID
);
$post
=
get_post
(
$comment
->
comment_post_ID
);
switch
(
$post
->
post_name
)
{
case
'backvoices'
:
// сообщение
$message
=
'Новая заявка на "'
.
$post
->
post_title
.
'"'
.
"
\r\n
"
;
$message
.=
sprintf
(
__
(
'Имя : %1$s (IP: %2$s)'
),
$comment
->
comment_author
,
$comment
->
comment_author_IP
)
.
"
\r\n
"
;
$message
.=
sprintf
(
__
(
'Телефон : %s'
),
get_comment_meta
(
$comment_ID
,
'phone'
,
true
)
)
.
"
\r\n
"
;
$message
.=
'Комментарий: '
.
"
\r\n
"
.
$comment
->
comment_content
.
"
\r\n\r\n
"
;
// Тема
$subject
=
'['
.
$_SERVER
[
'HTTP_HOST'
]
.
'] Заявка на обратный звонок от '
.
$comment
->
comment_author
;
// заголовки
$headers
=
'From: No Answer <noanswer@'
.
$_SERVER
[
'HTTP_HOST'
]
.
'>'
.
"
\r\n
"
;
@
wp_mail
(
get_option
(
'admin_email'
),
$subject
,
$message
,
$headers
);
break
;
case
'main'
:
// сообщение
$message
=
'Новая заявка на "Обратную связь"'
.
"
\r\n
"
;
$message
.=
sprintf
(
__
(
'Имя : %1$s (IP: %2$s)'
),
$comment
->
comment_author
,
$comment
->
comment_author_IP
)
.
"
\r\n
"
;
$message
.=
sprintf
(
__
(
'Телефон : %s'
),
get_comment_meta
(
$comment_ID
,
'phone'
,
true
)
)
.
"
\r\n\r\n
"
;
// Тема
$subject
=
'['
.
$_SERVER
[
'HTTP_HOST'
]
.
'] Заявка на обратную связь от '
.
$comment
->
comment_author
;
// заголовки
$headers
=
'From: No Answer <noanswer@'
.
$_SERVER
[
'HTTP_HOST'
]
.
'>'
.
"
\r\n
"
;
wp_mail
(
get_option
(
'admin_email'
),
$subject
,
$message
,
$headers
);
break
;
}
}
/*Вывод в админку колонку с телефоном*/
function
rudr_add_comments_columns
(
$my_cols
){
$misha_columns
=
array
(
'phone'
=>
'Телефон'
);
$my_cols
=
array_slice
(
$my_cols
,
0
,
3
,
true
)
+
$misha_columns
+
array_slice
(
$my_cols
,
3
,
NULL
,
true
);
return
$my_cols
;
}
add_filter
(
'manage_edit-comments_columns'
,
'rudr_add_comments_columns'
);
function
rudr_add_comment_columns_content
(
$column
,
$comment_ID
)
{
global
$comment
;
switch
(
$column
)
:
case
'phone'
:
{
if
(
$meta
=
get_comment_meta
(
$comment_ID
,
$column
,
true
)
)
{
echo
$meta
;
}
else
{
echo
'-'
;
}
break
;
}
endswitch
;
}
add_action
(
'manage_comments_custom_column'
,
'rudr_add_comment_columns_content'
,
10
,
2
);
/*
add_filter( 'wp_die_handler', 'my_wp_die_handler_function', 9 ); //9 means you can unhook the default before it fires
function my_wp_die_handler_function($function) {
return 'my_skip_dupes_function'; //use our "die" handler instead (where we won't die)
}
//check to make sure we're only filtering out die requests for the "Duplicate" error we care about
function my_skip_dupes_function( $message, $title, $args ) {
if (strpos( $message, 'Duplicate comment detected' ) === 0 ) { //make sure we only prevent death on the $dupe check
remove_filter( 'wp_die_handler', '_default_wp_die_handler' ); //don't die
}
return; //nothing will happen
}
*/
\ No newline at end of file
\ No newline at end of file
wp-content/themes/fenixmedica/header.php
View file @
e45ca20
...
@@ -39,10 +39,92 @@
...
@@ -39,10 +39,92 @@
)
)
);
);
?>
?>
<
button
class=
"btn btn-lg btn-style-0 rounded-pill me-md-4 mx-auto"
role=
"button"
>
+7 (8652) 22-25-09
</button
>
<
a
href=
"tel:88652991199"
class=
"btn btn-lg btn-style-0 rounded-pill me-md-4 mx-auto"
role=
"button"
>
+7 (8652) 22-25-09
</a
>
</div>
</div>
<button
class=
"btn btn-lg btn-style-1 rounded-pill"
role=
"button"
data-icon=
"phone"
></button>
<button
class=
"btn btn-lg btn-style-1 rounded-pill"
role=
"button"
data-icon=
"phone"
data-bs-toggle=
"modal"
data-bs-target=
"#backvoicesModal"
></button>
<button
class=
"navbar-toggler p-0"
type=
"button"
data-bs-toggle=
"collapse"
data-bs-target=
"#maim-menu-wrap"
aria-controls=
"maim-menu-wrap"
aria-expanded=
"false"
aria-label=
"Меню"
data-icon=
"burger"
></button>
<button
class=
"navbar-toggler p-0"
type=
"button"
data-bs-toggle=
"collapse"
data-bs-target=
"#maim-menu-wrap"
aria-controls=
"maim-menu-wrap"
aria-expanded=
"false"
aria-label=
"Меню"
data-icon=
"burger"
></button>
</div>
</div>
</nav>
</nav>
</header>
</header>
<!-- Modal -->
<div
class=
"modal fade"
id=
"backvoicesModal"
tabindex=
"-1"
aria-labelledby=
"backvoicesModalLabel"
aria-hidden=
"true"
>
<div
class=
"modal-dialog modal-dialog-centered"
>
<div
class=
"modal-content rounded-4 text-color-1 bg-custom-9 shadow-2"
>
<div
class=
"modal-header"
>
<p
id=
"backvoicesModalLabel"
class=
"text-center text-md-start modal-title m-0"
style=
"font-family: 'Fontin Sans CR';color: var(--m-blue);font-weight: 700;line-height: 1em;margin-bottom: 1.5rem;font-size: 33px;"
>
Обратный звонок
</p>
<button
type=
"button"
class=
"btn-close"
data-bs-dismiss=
"modal"
aria-label=
"Close"
></button>
</div>
<div
class=
"modal-body"
>
<div
class=
"container text-gray"
>
<div
class=
"row"
>
<div
class=
"col-12 my-mb-0"
>
<?php
$args
=
array
(
'id_form'
=>
'form_backvoices'
,
'fields'
=>
array
(
'author'
=>
'<div class="form-floating mb-3" style="order:-2;">'
.
'<input type="text" class="form-control form-control-lg rounded-4 border-0" name="author" id="author" placeholder="Ваше имя" value="" size="30" required/>'
.
'<label for="author" class="form-label">Ваше имя:</label>'
.
'<div class="invalid-feedback">Пожалуйста, укажите имя пользователя</div>'
.
'</div>'
,
'phone'
=>
'<div class="form-floating mb-3" style="order:-1;">'
.
'<input type="text" class="form-control form-control-lg rounded-4 border-0" name="phone" id="phone" placeholder="Номер телефона" value="" required />'
.
'<label for="phone" class="form-label">Номер телефона:</label>'
.
'<div class="invalid-feedback">Пожалуйста, укажите телефон</div>'
.
'</div>'
,
'cookies'
=>
'<div class="form-check mb-3 ps-0">'
.
'<input type="checkbox" name="accept" class="form-check-input d-none" id="accept" value="accept" required="required" checked="checked"/>'
.
'<label class="form-check-label" for="accept">
<span>Я даю согласие на <a href="'
.
get_permalink
(
get_page_by_path
(
'privacy-policy'
)
)
.
'" class="text-blue">обработку персональных данных</a>.</span>
</label>'
.
'<div class="invalid-feedback">Вы должны принять перед отправкой</div>'
.
'</div>'
),
'comment_field'
=>
'<div class="form-floating mb-3" >'
.
'<textarea class="form-control form-control-lg rounded-4 border-0" placeholder="Комментарий" name="comment" id="comment" rows="8" aria-required="true" style="height: 100px" required></textarea>'
.
'<label for="comment" class="form-label">Комментарий</label>'
.
'<div class="invalid-feedback">Пожалуйста, введите комментарий</div>'
.
'</div>'
,
'submit_button'
=>
'<button name="%1$s" type="submit" class="btn btn-lg btn-style-1 rounded-pill mx-auto w-100 %3$s" value="%4$s" id="%2$s">Отправить заявку</button>'
,
'comment_notes_before'
=>
''
,
'title_reply'
=>
''
.
'<div class="form-preloader align-items-center justify-content-center d-flex d-none text-center position-absolute top-0 bottom-0 start-0 end-0 m-auto" style="z-index:1; background-color: rgba(255,255,255,0.8)">'
.
'<div class="spinner-border" role="status">'
.
'<span class="visually-hidden">Обработка...</span>'
.
'</div>'
.
'</div>'
,
'class_form'
=>
'd-flex flex-column needs-validation ajax-submit'
);
comment_form
(
$args
,
url_to_postid
(
'backvoices'
));
?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div
class=
"modal fade"
id=
"alertModal"
tabindex=
"-1"
aria-labelledby=
"alertModalLabel"
aria-hidden=
"true"
>
<div
class=
"modal-dialog modal-dialog-centered"
>
<div
class=
"modal-content"
>
<div
class=
"modal-header"
>
<h5
class=
"modal-title m-0"
id=
"alertModalLabel"
>
Уведомление
</h5>
<button
type=
"button"
class=
"btn-close"
data-bs-dismiss=
"modal"
aria-label=
"Close"
></button>
</div>
<div
id=
"alertModalBody"
class=
"modal-body text-center"
>
<!--
Заявка на звонок принята
Спасибо за отзыв!
-->
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-lg btn-default btn-style-5 rounded-pill mx-auto"
data-bs-dismiss=
"modal"
>
OK
</button>
</div>
</div>
</div>
</div>
wp-content/themes/fenixmedica/inc/shprics.php
View file @
e45ca20
...
@@ -33,23 +33,49 @@ function fenix_shprics ($atts, $content)
...
@@ -33,23 +33,49 @@ function fenix_shprics ($atts, $content)
'<div class="description">'
.
$post
->
post_content
.
'</div>'
.
'<div class="description">'
.
$post
->
post_content
.
'</div>'
.
'</div>'
.
'</div>'
.
'</div>'
.
'</div>'
.
'<div class="col-12 col-md-6 text-md-end">'
.
'<div class="col-12 col-md-6 text-md-end">'
;
'<form class="needs-validation text-start mx-auto me-md-0 rounded-4 text-color-1 bg-custom-9 shadow-2">'
.
'<div class="text-center mb-5 caption">Lorem Ipsum</div>'
.
'<div class="mb-3">'
.
$args
=
array
(
'<label for="zayvkaName" class="form-label">Ваше имя</label>'
.
'id_form'
=>
'form_'
.
$atts
[
'id'
],
'<input type="text" class="form-control form-control-lg rounded-4 border-0" id="zayvkaName" required="required" />'
.
'fields'
=>
array
(
'</div>'
.
'author'
=>
'<div class="mb-3">'
.
'<div class="mb-5">'
.
'<label for="author_'
.
$atts
[
'id'
]
.
'" class="form-label">Ваше имя</label>'
.
'<label for="zayvkaPhone" class="form-label">Телефон</label>'
.
'<input type="text" class="form-control form-control-lg rounded-4 border-0" name="author" id="author_'
.
$atts
[
'id'
]
.
'" value="" size="30" required/>'
.
'<input type="text" class="form-control form-control-lg rounded-4 border-0" id="zayvkaPhone" name="phone" required="required" />'
.
'<div class="invalid-feedback">Пожалуйста, укажите Ваше имя</div>'
.
'</div>'
.
'</div>'
,
'<div class="mb-5 form-check ps-0">'
.
'phone'
=>
'<div class="mb-5">'
.
'<input class="form-check-input d-none" type="checkbox" value="" id="fenix-accept-opr" checked="checked" />'
.
'<label for="phone_'
.
$atts
[
'id'
]
.
'" class="form-label">Телефон</label>'
.
'<label class="form-check-label text-color-10" for="fenix-accept-opr">Согласен на обработку<br/> персональных данных </label>'
.
'<input type="text" class="form-control form-control-lg rounded-4 border-0" name="phone" id="phone_'
.
$atts
[
'id'
]
.
'" value="" required />'
.
'<div class="invalid-feedback">Пожалуйста, укажите телефон</div>'
.
'</div>'
,
'cookies'
=>
'<div class="mb-5 form-check ps-0">'
.
'<input type="checkbox" name="accept" class="form-check-input d-none" id="accept_'
.
$atts
[
'id'
]
.
'" value="accept" required="required" checked="checked"/>'
.
'<label class="form-check-label" for="accept_'
.
$atts
[
'id'
]
.
'">Согласен на обработку<br/> персональных данных</label>'
.
'<div class="invalid-feedback">Вы должны принять перед отправкой</div>'
.
'</div>'
),
'comment_field'
=>
'<input type="hidden" name="comment" id="comment_'
.
$atts
[
'id'
]
.
'" value="'
.
time
()
.
'"/>'
,
'class_submit'
=>
'btn btn-lg btn-style-1 rounded-pill mx-auto w-100'
,
'submit_field'
=>
'%1$s %2$s'
,
'submit_button'
=>
'<button name="%1$s" type="submit" class="%3$s" value="%4$s" id="%2$s">Отправить заявку</button>'
,
'id_submit'
=>
'submit_'
.
$atts
[
'id'
],
'comment_notes_before'
=>
'<div class="text-center mb-5 caption">Обратная связь</div>'
,
'title_reply'
=>
''
.
'<div class="form-preloader align-items-center justify-content-center d-flex d-none text-center position-absolute top-0 bottom-0 start-0 end-0 m-auto" style="z-index:1; background-color: rgba(255,255,255,0.8)">'
.
'<div class="spinner-border" role="status">'
.
'<span class="visually-hidden">Обработка...</span>'
.
'</div>'
.
'</div>'
.
'<button class="btn btn-lg btn-style-1 rounded-pill mx-auto w-100" type="submit" role="submit">Lorem Ipsum</button>'
.
'</div>'
,
'</form>'
.
'title_reply'
=>
''
,
'title_reply_before'
=>
''
,
'title_reply_after'
=>
''
,
'class_form'
=>
'needs-validation text-start mx-auto me-md-0 rounded-4 text-color-1 bg-custom-9 shadow-2 ajax-submit'
);
ob_start
();
comment_form
(
$args
,
url_to_postid
(
'main'
));
$out
.=
ob_get_clean
();
$out
.=
''
.
'</div>'
.
'</div>'
.
'</div>'
.
'</div>'
.
'</div>'
.
'</div>'
.
...
...
wp-content/themes/fenixmedica/index.php
View file @
e45ca20
...
@@ -8,13 +8,13 @@
...
@@ -8,13 +8,13 @@
while
(
have_posts
()
)
:
while
(
have_posts
()
)
:
the_post
();
the_post
();
if
(
!
is_front_page
()
&&
has_post_format
(
'aside'
)
)
if
(
!
is_front_page
()
||
has_post_format
(
'aside'
)
||
get_post_type
()
==
'page'
)
echo
'<div class="container">'
.
echo
'<div class="container">'
.
'<div class="row">'
.
'<div class="row">'
.
'<div class="col-12">'
.
'<div class="col-12
py-4
">'
.
'<h1 class="text-center text-md-start">'
.
get_the_title
()
.
'</h1>'
;
'<h1 class="text-center text-md-start">'
.
get_the_title
()
.
'</h1>'
;
the_content
();
the_content
();
if
(
!
is_front_page
()
&&
has_post_format
(
'aside'
)
)
if
(
!
is_front_page
()
||
has_post_format
(
'aside'
)
||
get_post_type
()
==
'page'
)
echo
'</div>'
.
echo
'</div>'
.
'</div>'
.
'</div>'
.
'</div>'
;
'</div>'
;
...
...
wp-content/themes/fenixmedica/page-backvoices.php
0 → 100644
View file @
e45ca20
<?php
get_header
();
global
$post
;
?>
<!--Контент страницы-->
<content
class=
"content page_
<?php
echo
$post
->
post_name
;
?>
"
>
<?php
/* Start the Loop */
while
(
have_posts
()
)
:
the_post
();
if
(
has_post_format
(
'aside'
)
)
echo
'<div class="container">'
.
'<div class="row">'
.
'<div class="col-12">'
.
'<h1 class="text-center text-md-start">'
.
get_the_title
()
.
'</h1>'
;
the_content
();
if
(
has_post_format
(
'aside'
)
)
echo
'</div>'
.
'</div>'
.
'</div>'
;
?>
<?php
endwhile
;
// End of the loop.
?>
<!--Форма отзывов-->
<div
class=
"review-form"
>
<div
class=
"container py-4"
>
<h2
class=
"h1 text-center text-md-start"
>
Обратный звонок
</h2>
<?php
$args
=
array
(
'id_form'
=>
'form_backvoices_big'
,
'fields'
=>
array
(
'author'
=>
'<div class="form-floating mb-3" style="order:-2;">'
.
'<input type="text" class="form-control form-control-lg rounded-4 border-0" name="author" id="author_full" placeholder="Ваше имя" value="" size="30" required/>'
.
'<label for="author_full" class="form-label">Ваше имя:</label>'
.
'<div class="invalid-feedback">Пожалуйста, укажите имя пользователя</div>'
.
'</div>'
,
'phone'
=>
'<div class="form-floating mb-3" style="order:-1;">'
.
'<input type="text" class="form-control form-control-lg rounded-4 border-0" name="phone" id="phone_full" placeholder="Номер телефона" value="" required />'
.
'<label for="phone_full" class="form-label">Номер телефона:</label>'
.
'<div class="invalid-feedback">Пожалуйста, укажите телефон</div>'
.
'</div>'
,
'cookies'
=>
'<div class="mb-3 form-check ps-0" >'
.
'<input type="checkbox" name="accept" class="form-check-input d-none" id="accept_full" value="accept" required="required" checked="checked"/>'
.
'<label class="form-check-label" for="accept_full">'
.
'<span>Я даю согласие на <a href="'
.
get_permalink
(
get_page_by_path
(
'privacy-policy'
)
)
.
'" class="text-blue">обработку персональных данных</a>.</span>'
.
'</label>'
.
'<div class="invalid-feedback">Вы должны принять перед отправкой</div>'
.
'</div>'
,
//'email' => '<input id="email" name="email" type="hidden" value="' . esc_attr( $commenter['comment_author_email'] ) . '" />'
),
'comment_field'
=>
'<div class="form-floating mb-3" >'
.
'<textarea class="form-control form-control-lg rounded-4 border-0" placeholder="Комментарий" name="comment" id="comment_full" rows="8" aria-required="true" style="height: 100px" required></textarea>'
.
'<label for="comment_full" class="form-label">Комментарий</label>'
.
'<div class="invalid-feedback">Пожалуйста, введите комментарий</div>'
.
'</div>'
,
'submit_button'
=>
'<button name="%1$s" type="submit" class="btn btn-lg btn-style-1 px-5 rounded-pill %3$s" value="%4$s" id="%2$s">Отправить</button>'
,
'comment_notes_before'
=>
''
,
'title_reply'
=>
''
.
'<div class="form-preloader align-items-center justify-content-center d-flex d-none text-center position-absolute top-0 bottom-0 start-0 end-0 m-auto" style="z-index:1; background-color: rgba(255,255,255,0.8)">'
.
'<div class="spinner-border" role="status">'
.
'<span class="visually-hidden">Обработка...</span>'
.
'</div>'
.
'</div>'
,
'class_form'
=>
'd-flex flex-column needs-validation ajax-submit'
);
?>
<div
class=
"rounded-4 text-color-1 bg-custom-9 shadow-2 p-4"
>
<?php
comment_form
(
$args
,
url_to_postid
(
'backvoices'
));
?>
</div>
</div>
</div>
</content>
<?php
get_footer
();
\ No newline at end of file
\ No newline at end of file
wp-content/themes/fenixmedica/style.css
View file @
e45ca20
...
@@ -469,30 +469,6 @@ Author: SANS
...
@@ -469,30 +469,6 @@ Author: SANS
:root
.fenix-shprics
form
.caption
{
:root
.fenix-shprics
form
.caption
{
line-height
:
22px
;
line-height
:
22px
;
}
}
:root
.fenix-shprics
.form-check-label
{
font-size
:
14px
;
line-height
:
17px
;
}
:root
.fenix-shprics
.form-check-input
+
.form-check-label
{
display
:
flex
;
align-items
:
center
;
cursor
:
pointer
;
}
:root
.fenix-shprics
.form-check-input
+
.form-check-label
:before
{
content
:
''
;
display
:
inline-block
;
width
:
44px
;
height
:
44px
;
background-color
:
var
(
--color-0
);
background-position
:
center
center
;
background-repeat
:
no-repeat
;
border-radius
:
13px
;
margin-right
:
15px
;
pointer-events
:
none
;
}
:root
.fenix-shprics
.form-check-input
:checked
+
.form-check-label
:before
{
background-image
:
url('./assets/images/arrow_accept.svg')
;
}
:root
.fenix-shprics
.form-label
{
:root
.fenix-shprics
.form-label
{
font-size
:
18px
;
font-size
:
18px
;
line-height
:
22px
;
line-height
:
22px
;
...
@@ -755,3 +731,32 @@ Author: SANS
...
@@ -755,3 +731,32 @@ Author: SANS
}
}
}
}
/*Форма обратной связи*/
:root
.form-check-label
{
font-size
:
14px
;
line-height
:
17px
;
}
:root
.form-check-input
+
.form-check-label
{
display
:
flex
;
align-items
:
center
;
cursor
:
pointer
;
}
:root
.form-check-input
+
.form-check-label
:before
{
content
:
''
;
display
:
inline-block
;
width
:
44px
;
height
:
44px
;
background-color
:
var
(
--color-0
);
background-position
:
center
center
;
background-repeat
:
no-repeat
;
border-radius
:
13px
;
margin-right
:
15px
;
pointer-events
:
none
;
}
:root
.form-check-input
:invalid
+
.form-check-label
:before
{
border
:
solid
1px
#FF0000
;
}
:root
.form-check-input
:checked
+
.form-check-label
:before
{
background-image
:
url('./assets/images/arrow_accept.svg')
;
}
\ No newline at end of file
\ No newline at end of file
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment