использую плагин ContactForm7 - там есть возможность после успешной отправки перенаправлять на страницу. Создал страницу, положил её там же где и все остальные страницы этой темы. теперь хочу что бы после успешной отправки письма - переходил именно на нее.
Но точно также как не могу зайти на эту страницу, не могу и вызвать (набрав в адресной строке) любую другую страницу шаблона темы(например contact-page.php
transition_comment_status
, который вызывается только при смене статуса уже существующего комментария. Новый комментарий, который проходит автомодерацию, через transition status не проводится, он сразу добавляется с нужным статусом. Чтобы зацепиться в этом случае, вам понадобится хук comment_post
(вот он) или wp_insert_comment
(вот он). Проверяете на этом хуке статус, если approve
или 1
, тогда делаете отправку письма. return 301 https://$server_name$request_uri;
location / {
try_files $uri $uri/ /index.php?$args;
}
location / {
...
location / {
try_files $uri $uri/ /index.php?$args;
}
...
}
server {
# Слушаем 80й порт
listen 80;
# Обслуживаем доменное имя, www тут же слушать не надо - будут дубликаты контента, печаль для SEO
server_name example.com;
# Корневая директория проекта
root /var/www/example.com/httpdocs;
# Индексы
index index.php index.html;
# Обработка запросов
# $uri - существует ли конкретный файл
# $uri/ - существует ли директория
# /index.php?$args - если это не запрос на существующий файл или директорию, то перебрасываем на роутер WordPress (это и есть то, что надо для пермалинков)
location / {
try_files $uri $uri/ /index.php?$args;
}
# Обрабатываем PHP
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
fastcgi_pass unix:/var/run/php5-fpm.sock; # или php7.0-fpm.sock
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Все остальное
# Запрещаем доступ к .htaccess
location ~ /\.ht {
deny all;
}
# Просим кешировать статику на Х дней, не писать в логи
location ~*
^.+\.(js|css|swf|xml|txt|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
access_log off;
log_not_found off;
expires 30d;
}
}
# Отдельно слушаем домен с www и редиректим на основной
server {
# Слушаем 80й порт
listen 80;
# Обслуживаем доменное имя c www
server_name www.example.com;
# Отправляем запрос на основной домен
return 301 $scheme://example.com$request_uri;
}
acf/render_field
. Документация тут. А тут есть примеры кода в обсуждении.function add_custom_class( $classes=array(), $menu_item=false ) {
if ( ! is_page() && 'Blog' == $menu_item->title && ! in_array( 'current-menu-item', $classes ) ) {
$classes[] = 'current-menu-item';
}
return $classes;
}
add_filter( 'nav_menu_css_class', 'add_custom_class', 100, 2 );
Как найти, какая страница это выводит?