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

Просмотр 15 ответов — с 1 по 15 (всего 60)
  • Вот решение без использование плагинов. Работает.
    Создай новый файл на рабочем столе например с названием contact.php
    В самом начале файла вставь это:

    <?php
    /*
    Template Name: Форма обратной связи
    */
    ?>

    Далее открой файл single.php который находиться у тебя в теме Вордпресса и скопируй весь код с single.php в contact.php
    Далее в contact.php удали всё что находиться от
    <?php while ( have_posts() ) : the_post(); ?>
    до
    <?php endwhile; ?>
    включая эти строчки.

    Теперь к делу.
    На место того что мы удалили вставь это:

    <?php
    
     if(isset($_POST['submitted'])) {
        if(trim($_POST['contact_name']) === '') {
            $nameError = 'Введите ваше имя';
            $hasError = true;
        } else {
            $name = trim($_POST['contact_name']);
        }
    
        if(trim($_POST['contact_email']) === '')  {
            $emailError = 'Введите e-mail';
            $hasError = true;
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['contact_email']))) {
            $emailError = 'Не верный адрес.';
            $hasError = true;
        } else {
            $email = trim($_POST['contact_email']);
        }
    
        if(trim($_POST['contact_theme']) === '') {
            $themeError = 'Введите тему ';
            $hasError = true;
        } else {
            $theme = trim($_POST['contact_theme']);
        }
    
        if(trim($_POST['contact_comments']) === '') {
            $commentError = 'Введите сообщение';
            $hasError = true;
        } else {
            if(function_exists('stripslashes')) {
                $comments = stripslashes(trim($_POST['contact_comments']));
            } else {
                $comments = trim($_POST['contact_comments']);
            }
        }
    
        if(!isset($hasError)) {
            $emailTo = get_option('tz_email');
            if (!isset($emailTo) || ($emailTo == '') ){
                $emailTo = get_option('admin_email');
            }
            $subject = 'Сообщение с сайта от '.$name;
            $body = "Имя: $name \n\nE-mail: $email \n\nТема: $theme \n\nСообщение: $comments";
            $headers = 'From: '.$name.' <'.$email.'>' . "\r\n" . 'Reply-To: ' . $email;
            wp_mail($emailTo, $subject, $body, $headers);
            $emailSent = true;
        }
    
    } ?>
    
    <div id="contact_form">
                               <?php if(isset($emailSent) && $emailSent == true) { ?>
                                     <div class="contact_message">Ваше сообщение успешно отправлено!</div>
                               <?php } else { ?>
                                     <?php if(isset($hasError) || isset($captchaError)) { ?>
    
                                     <?php } ?>
    
                                     <form action="<?php the_permalink(); ?>" id="contactForm" method="post">
    
                                           <div class="contact_left">
                                                <div class="contact_name">
                                                     <input type="text" placeholder="Ваше имя" name="contact_name" id="contact_name" value="<?php if(isset($_POST['contact_name'])) echo $_POST['contact_name'];?>" class="required requiredField" />
                                                     <?php if($nameError != '') { ?>
                                                           <div class="errors"><?=$nameError;?></div>
                                                     <?php } ?>
                                                </div>
                                                <div class="contact_email">
                                                     <input type="text" placeholder="Ваш email" name="contact_email" id="contact_email" value="<?php if(isset($_POST['contact_email']))  echo $_POST['contact_email'];?>" class="required requiredField email" />
                                                     <?php if($emailError != '') { ?>
                                                           <div class="errors"><?=$emailError;?></div>
                                                     <?php } ?>
                                                </div>
                                                <div class="contact_theme">
                                                     <input type="text" placeholder="Тема" name="contact_theme" id="contact_theme" value="<?php if(isset($_POST['contact_theme'])) echo $_POST['contact_theme'];?>" class="required requiredField" />
                                                     <?php if($themeError != '') { ?>
                                                           <div class="errors"><?=$themeError;?></div>
                                                     <?php } ?>
                                                </div>
                                           </div>
    
                                           <div class="contact_right">
                                                <div class="contact_textarea">
                                                     <textarea placeholder="Сообщение" name="contact_comments" id="commentsText" rows="12" cols="56" class="required requiredField"><?php if(isset($_POST['contact_comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['contact_comments']); } else { echo $_POST['contact_comments']; } } ?></textarea>
                                                     <?php if($commentError != '') { ?>
                                                           <div class="errors"><?=$commentError;?></div>
                                                     <?php } ?>
                                                </div>
    
                                                <button type="contsubmit" class="contact_submit">Отправить</button>
                                                <input type="hidden" name="submitted" id="submitted" value="true" />
                                           </div>
                                     </form>
                               <?php } ?>
                          </div>

    Теперь сохрани файл contact.php и залей его на сервер с темой.
    Далее в админке вордпресса создай новую страницу например с названием Связь с администрацией, на этой же странице есть колонка Атрибуты страницы там тебе надо выбрать шаблон страницы с названием Форма обратной связи и сохрани страницу. Теперь можешь перейти на эту страницу и проверить работает ли форма, кстати не забудь в настройках вордпресса указать емаил куда должны доходить письма. А со стиля думаю сам разберешься=)

    Успехов!

    Спустя месяц навряд ли что то от бекапа осталось, не встречал такого.
    Просто смиритесь и делайте всё заново)))

    Вордпресс очень хороший движок, и на нем можно делать сайты наверное любой тематики. Но я бы не советовал тебе пользоваться плагинами для доски объявлений, так как неизвестно будет ли поддерживать автор плагина его в будущем, а если доска уже раскручена и на неё было затрачено не мало усилий и $ ? Если уж делать то без плагинов, поверь это возможно.

    Ну или использовать специальные движки для досок объявлений. Для ознакомительных целей я бы использовал нулленые движки, а как уже решил бы какой мне больше нравиться — приобрел!

    Вставьте в функции темы.

    function logout_redirect(){
    wp_redirect( '/index.php' );
    exit();
    }
    add_action('wp_logout','logout_redirect');
    
    function login_redirect() {
    return '/index.php';
    }
    add_filter('login_redirect', 'login_redirect');

    После авторизации и выхода будет перенаправлять на главную страницу.

    скиньте ссылку на сайт.

    Спасибо!=)

    В category.php все работает. А вот в taxomony-categotia.php не работает.
    Как решить данную проблему?

    А вы пользуетесь утилитой Айболит? Если кто пользуется, напишите ваше мнение о нем. Стоит не стоит её пользоваться?

    P.S извините что не по теме.

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

    уже было на хабре, http://habrahabr.ru/post/265515/
    мне сразу не нравится что письмо от .ORG
    и вообще зачем вестись на такое ? 😀

    Далеко не все сидят на хабре.
    Начинающие часто совершают ошибки такого рода…

    Здравствуйте Юрий!
    Правильно ли я вас понял?

    <?php
    $cat = get_query_var('cat');
    $args = array(
    	'title_li'        => '',
    	'echo'            => 0,
    	'style'           => 'none',
    	'orderby'         => 'ID',
    	'hide_empty'      => '0',
    	'child_of'        => $cat,
    	'taxonomy'        => 'categoriav'
    );
    // это обязательные параметры
    $all_cats = explode("<br />",wp_list_categories($args));
    $cat = count($all_cats) - 1;
    for ($n=0;$n<$cat;$n++):
    	if ($n<$cat/2):
    		$left = $left.'<li>'.$all_cats[$n].'</li>';
    	elseif ($n>=$cat/2):
    		$right = $right.'<li>'.$all_cats[$n].'</li>';
    	endif;
    endfor;
    ?>

    Нечего не изменилось=(
    вывожу так:

    <div class="mycat">
                <div class="leftcat"><ul><?php echo $left;?></ul></div>
                <div class="rightcat"><ul><?php echo $right;?></ul></div>
            </div>

    Константин, а где в моем сообщении говорится о записях категории?

    Что вы не то решаете. Записи подкатегорий и так выводятся на своих отдельных страницах. По умолчанию

    Я не вывожу записи под категорий, а сами названия под категорий в 2 колонки. Если верно вас понял. Проблема состоит в том, что на странице нужно вывести только дочерние категории.

    'child_of' => $cat

    как вы видите в ней прописал переменную $cat но не выходит нечего.
    Да не изобретаю я никакой велосипед=))) Всего лишь реализую свою идею)))

    Переменная $cat хранит id текущей рубрики, и по идее child_of автоматом должен определять id рубрики, это в теории, а вот на практике не выходит.
    Подскажите пожалуйста что не так пишу?

    А точно! А подскажите пожалуйста, как вывести под рубрики текущей рубрики.
    На странице категорий пробую так, но не выходит.

    <?php
    $args = array(
    	'title_li' => '',
    	'echo' => 0,
    	'style' => 'none',
    	'orderby' => 'ID',
    	'hide_empty' => '0',
            'child_of' => $cat ,
    	'taxonomy' => 'categoriav'
    );
    // это обязательные параметры
    $all_cats = explode("<br />",wp_list_categories($args));
    $cat = count($all_cats) - 1;
    for ($n=0;$n<$cat;$n++):
    	if ($n<$cat/2):
    		$left = $left.'<li>'.$all_cats[$n].'</li>';
    	elseif ($n>=$cat/2):
    		$right = $right.'<li>'.$all_cats[$n].'</li>';
    	endif;
    endfor;
    ?>

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