Ответы в темах

Просмотр 15 ответов — с 1 по 15 (всего 18)
  • Нет, своя — самописная. Форма входа следующая:

    <form action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
    	<input type="text" placeholder="E-mail" name="log"/><br/>
    	<input type="password" placeholder="Пароль" name="pwd"/></br></br>
    	<input type="submit" name="submit" value="Войти"/>
    	<input type="hidden" name="redirect_to" value="/" />
    </form>	

    В файле функций:

    add_action( 'wp_login_failed', 'pu_login_failed' ); // Если не получилось войти в сайт
    
    function pu_login_failed( $user ) {
      	$referrer = '/';
    	if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') && $user!=null ) {
    		if ( !strstr($referrer, '?login=failed' )) {
    	    	wp_redirect( $referrer . '?login=failed');
    	    } else {
    	      	wp_redirect( $referrer );
    	    }
    	    exit;
    	}
    }

    ))) Ну то уже полное извращение.
    Если будете писать плагин, не забудьте упомянуть меня))

    В общем, плагина не нашел, написал кусок кода в function.php. Работает, как и задумывалось.

    	// Дописание комментариев
    	add_filter('preprocess_comment', 'rewrite_comment');
    	function rewrite_comment($commentdata) {
    		global $wpdb;
    		$comm_post_ID = $commentdata['comment_post_ID'];
    		$db_comm_info = $wpdb->get_results("SELECT <code>comment_author</code>, <code>comment_content</code>, <code>comment_ID</code> FROM $wpdb->comments WHERE comment_post_ID = '$comm_post_ID' AND comment_approved = 1 ORDER BY comment_date DESC LIMIT 1");
    		if ($db_comm_info[0]->comment_author==$commentdata['comment_author']) { //Сравнение авторa последнего комментария из БД с именем пользователя, который оставляет комментарий
    			$time_msg=$time_hours. date("H:i d.m.20y");
    			$new_msg=$db_comm_info[0]->comment_content.'<div class="add"><center>Добавленно позже <small>(в '.$time_msg.')</small>:<br/></center></div>'.$commentdata['comment_content'];
    			$comm_ID = $db_comm_info[0]->comment_ID;
    			$wpdb->query("UPDATE $wpdb->comments SET comment_content = '$new_msg' WHERE comment_ID = '$comm_ID'"); 	
    			header("Location:".get_comment_link($comm_ID));
    			die;
    			} else {
    			return $commentdata;
    		}
    	}

    Denis Yanchevskiy, стоит ли писать плагин? Тут кода на 10 строк.

    Подскажите, какой фильтр срабатывает после отправки или публикации сообщения? pre_comment_on_post, как я понял, уже не работает?

    Spectrum, вот видите, и Вам не удалось такой найти. Но спасибо за попытку помощи. Какой функционал у меня был: Если пользователь в течении 5ти часов оставляет 2 сообщения подряд, и на предыдущее не было ответа, то комментарии склеиваются в один, с пометкой, в которой указано время дописания комментария.
    Такой функционал можно встретить еще на форумах.
    Видимо, придется делать обработчик добавления комментариев в function.php по старой схеме.
    Всем спасибо за помощь.

    Код ВП вообще править не нужно.

    Я это понимаю. Танцы с бубном были 10 лет назад, когда правил код. Сейчас же, хочу сделать цивилизовано. Вот спросил за плагин. Найти самостоятельно не получается, спрашиваю совета знатоков.

    ezdiumno_ru, так уже ж все получилось. Благо, умными советами помогли.

    SeVlad, изменения из-за желания идти в ногу со временем. «.html» в конце — уже не модно.))

    Health Check почту отправил успешно, я получил. Но в адресе «по умолчанию» стоял какой-то несуществующий адрес, отличающийся от моих настроек из вкладки «Общие настройки».

    В настройках постоянных ссылок указал:»/%category%/%postname%
    Все получилось! Спасибо всем!

    SeVlad, видимо да, но сайту уже уйму лет, не помню из-за чего началась эта «болезнь» с дописанием html, а теперь излечение — удаление.

    Хлебные крошки, это само собой. Их никто не отменял. Но я так привык, чтобы путь был выстроен «правильно». Может, это влияние ОС ПК, может стереотип, но думаю, многие меня поддержат.
    Как можно реализовать этот момент?

    Юрий, да, я про слеш понимаю, что сам добавил. Делаю строго по инструкции. Но знаю еще, что без него, может не стабильно работать с рубриками.

    Spectrum, убрал слеш в конце в постоянных ссылках, включил плагин. Страницы отображаются нормально, рубрики тоже, ну а записи — у них потерялись из адреса пути рубрик и подрубрик. Они открываются от адреса homeURL. Что не логично. Как этот момент поправить, чтобы в адресе записей присутствовали рубрики и подрубрики?

    • Ответ изменён 6 лет, 1 месяц назад пользователем joliat.
    • Ответ изменён 6 лет, 1 месяц назад пользователем joliat.

    Просто из меню сайта. Там сейчас чистый html в меню. Т.е. структура не сохранилась.
    Но если перейти в рубрику из админки, то пристуствует в адресе /category/.

    Мне крайне желательно без слеша в конце. Т.е. для рубрик — норм, для записей — без.

    • Ответ изменён 6 лет, 1 месяц назад пользователем joliat.

    Плагин отключил.
    Постоянные ссылки: /%postname%/
    В htaccess стандартная запись:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress

    Результат: Записи открываются без hmtl, но со слешем в конце. Также отсутствуют рубрики, и подрубрики, ведущие к записи.
    Страницы открываются со слешем в конце. Если присутствует подстраница, то URL родительской страницы присутствует в адресе страницы.
    Если перейти на рубрику, чтоб увидеть записи в ней, то адрес в строке сохраняется, но открывается страница 404 темы.

    Что теперь?

    Закомментировал строку в function.php, поставил No Category Base. Какие дальнейшие действия по избавлению от .html в конце адреса?

    Spectrum, не хотелось утяжелять плагинами движек. Посоветуйте какой плагин лучше использовать, какую опцию включать? Реально ли Ваш метод поможет?

Просмотр 15 ответов — с 1 по 15 (всего 18)