Zaandr

Рейтинг
76
Регистрация
20.07.2008

А сайт на чем? Если на wp то у него много довольно простых решений https://wpticketcom.emdplugins.com/ticket-list/

Если нужно отдельно, вот довольно неплохая бесплатная https://github.com/BadChoice/handesk

Александр Н:
Привет всем!

Что за движок вот у этих ребят: https://www.klerk.ru / https://vc.ru

Симпатишный и быстрый. Самопис чей-то?

У vc.ru свой движок. У клерк только визуально похож, но по коду они разные, видимо тоже самопис

max_maziy:
А здесь что за движки?
http://itstime.com.ua/
http://prikladsks.ru/

Тут все просто - WordPress

Эдуардoff:
Получается что загружать картинки через библиотеку это значит плодить такие страницы?

Любое вложение создает страницу.

Отключаем для всего таким кодом в 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/ как валидные адреса, вмешавшись в роутинг, подсовывая при этом другие шабоны, писать правильные мета-теги и куча других мелочей

elrego:
Добрый день!

Есть код вывода заголовка для статьи:

<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>

Как сделать, чтобы в конце автоматом добавлялось название категории? Мне нужно именно в H1.

Например так

<h1 class="entry-title"><?php the_title(); ?> <?php the_category(', '); ?></h1>

Для основательных проектов - PhpStorm

Для мелких правок - Sublime

1 2345 6
Всего: 51