А сайт на чем? Если на wp то у него много довольно простых решений https://wpticketcom.emdplugins.com/ticket-list/
Если нужно отдельно, вот довольно неплохая бесплатная https://github.com/BadChoice/handesk
У vc.ru свой движок. У клерк только визуально похож, но по коду они разные, видимо тоже самопис
Тут все просто - WordPress
Любое вложение создает страницу.
Отключаем для всего таким кодом в functions.php
function attachmentPagesRedirect() { global $post; if( is_attachment() ) { if( isset($post->post_parent) && ($post->post_parent != 0) ) { wp_redirect(get_permalink($post->post_parent), 301); } else { wp_redirect(home_url(), 301); } exit; } } add_action( 'template_redirect', 'attachmentPagesRedirect' );
В файле functions.php прописать
class Noindex_Walker_Nav_Menu extends Walker_Nav_Menu { /** * @see Walker::start_el() * @since 3.0.0 * * @param string $output * @param object $item Объект элемента меню, подробнее ниже. * @param int $depth Уровень вложенности элемента меню. * @param object $args Параметры функции wp_nav_menu */ function start_el(&$output, $item, $depth, $args) { global $wp_query; /* * Некоторые из параметров объекта $item * ID - ID самого элемента меню, а не объекта на который он ссылается * menu_item_parent - ID родительского элемента меню * classes - массив классов элемента меню * post_date - дата добавления * post_modified - дата последнего изменения * post_author - ID пользователя, добавившего этот элемент меню * title - заголовок элемента меню * url - ссылка * attr_title - HTML-атрибут title ссылки * xfn - атрибут rel * target - атрибут target * current - равен 1, если является текущим элементов * current_item_ancestor - равен 1, если текущим является вложенный элемент * current_item_parent - равен 1, если текущим является вложенный элемент * menu_order - порядок в меню * object_id - ID объекта меню * type - тип объекта меню (таксономия, пост, произвольно) * object - какая это таксономия / какой тип поста (page /category / post_tag и т д) * type_label - название данного типа с локализацией (Рубрика, Страница) * post_parent - ID родительского поста / категории * post_title - заголовок, который был у поста, когда он был добавлен в меню * post_name - ярлык, который был у поста при его добавлении в меню */ $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; /* * Генерируем строку с CSS-классами элемента меню */ $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $classes[] = 'menu-item-' . $item->ID; // функция join превращает массив в строку $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); $class_names = ' class="' . esc_attr( $class_names ) . '"'; /* * Генерируем ID элемента */ $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args ); $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : ''; /* * Генерируем элемент меню */ $output .= $indent . '<li' . $id . $value . $class_names .'>'; // атрибуты элемента, title="", rel="", target="" и href="" $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; // noindex $noindex_before = ''; $noindex_after = ''; if( in_array('nofollow', (empty( $item->xfn ) ? array() : (array) $item->xfn)) ) { $noindex_before .= '<!--noindex-->'; $noindex_after .= '<!--/noindex-->'; } // ссылка и околоссылочный текст $item_output = $args->before; $item_output .= $noindex_before . '<a'. $attributes .'>'; $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; $item_output .= '</a>' . $noindex_after; $item_output .= $args->after; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); }}
И далее, там где вызывается меню добавить свой walker
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'walker'=> new Noindex_Walker_Nav_Menu() // этот параметр нужно добавить)); ?>
Если у вас уже используется кастомный walker, его нужно будет модифицировать
Исходя из описания очень сложно понять проблему, потому что его мало.
Порядок действий, больше для разработчика, если проблема воспроизводится -
1. Форма отправялется аяксом? Если да, что же возвращается в ответ при "форма не реагирует" возможно там 500 ошибка, нет ответа по таймауту или невалидный json и js на клиенте просто не может среогировать. Все это можно посмотреть в dev tools браузера
2. Если форма просто отправляется постом, те. происходит перезагрузка страницы - первое что мы можем посмотреть, это что данные дейсвительно ушли и они не пустые, в том же dev tools браузера.
3. Нужно копать обработчик авторизации, что там происходит и как.
Вы говорите что возможно проблема с сессиями и с установкой куки - непонятно как она возникла и если у кого то работает, а у кого-то нет - это менее вероятно.
Единственный совет в этой ситуации - писать логи. Все дошедшие попытки пользователя авторизоваться под конкретным логином. Так вы сможете посмотреть, при жалобе пользователя, что пошло не так
Если просто вывести, то
<?php header('Content-Type: application/xml'); echo '<?xml version="1.0"?>'; echo '<tag></tag>';
Если файл должен быть скачан по данной ссылке, то
<?php header('Content-Type: application/xml'); header('Content-Disposition: attachment; filename="original.xml"'); echo '<?xml version="1.0"?>'; echo '<tag></tag>';
Для заражения всех сайтов на аккаунте достаточно заразить один, дальше умный вирус расползется, так как к файловой системе доступ есть в рамках аккаунта - это не проблема.
Без плагинов будет тяжело. Нужно заставить wp обрабатывать адреса site.ru/%postname%/amp/ как валидные адреса, вмешавшись в роутинг, подсовывая при этом другие шабоны, писать правильные мета-теги и куча других мелочей
Например так
<h1 class="entry-title"><?php the_title(); ?> <?php the_category(', '); ?></h1>
Для основательных проектов - PhpStorm
Для мелких правок - Sublime