Задать вопрос
  • Почему не работает обновление ajax?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик

    вот обработчик

    require "../../../dateBase/member_db_krmu.php";

    if(empty($_POST['text'])){
    $error = 'нельзя отправить пустой текст';
    }else{

    $text=$_POST['text'];
    $uid=$_POST['author'];
    $aid=$_POST['id'];

    $add = mysqli_query($connection,"INSERT INTO `comments` (`id`, `uid`,`text`,`artid`, `likes`) VALUES (NULL, '$uid','$text', '$aid', '0')");

    }


    А что обработчик возвращает? Он у вас ничего здесь не отдает обратно, поэтому data и пустое в ответе.

    сделайте

    echo "строка, которую хотите отправить обратно клиенту";
     exit;
    Ответ написан
    1 комментарий
  • Как заменить текст из цикла PHP в HTML?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Привяжите значение IS_PAID к классу в разметке, и стилизуйте в css.
    <td><span class="item-paid-<?=$item["IS_PAID"]?>"></span></td>


    Что-то типа такого.
    Ответ написан
    1 комментарий
  • Проблема с выводом категории WordPress?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Я бы сделал так.
    В файле taxonomy-catg.php первым делом получите объект текущего термина и проверьте есть ли у него родитель
    $category = get_queried_object();
    if ( $category->parent === 0 ) {
      // если это верхний уровень
      // выводим подкатегории
    } else {
       // выводим продукты обычным циклом
    }
    Ответ написан
    Комментировать
  • Почему update_post_meta не срабатывает?

    Palych_tw
    @Palych_tw Автор вопроса
    Типа веб-разработчик
    Ну да. Дело в том, что вместе с выполнением экшна, зачем то срабатывает и обновление товара, т.е. отправляется вся форма. И тут дело в том, что сначала отрабатывает экшн, а потом уже апдейт товара. Поэтому поле. которое мне нужно обновить сначала нужно удалить из $_POST, потому что позже оно перетрется снова.

    public static function handleCreateDealOrderAction($order)
     {
            if(isset($_POST['my_field'']))
                unset($_POST['my_field']);
    
            update_post_meta($order->get_id(), 'my_field',  'bla bla');
     }
    Ответ написан
    Комментировать
  • Как обрабатывать запросы по API идущие на сайт нашего магазина?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    aliasst, в WP есть встроенный REST API и есть возможность добавлять свои эндпоинты и писать для них свои обработчики. Посмотреть доступные маршруты можно по адресу domain.com/wp-json/ все маршруты для woocommerce лежат в '/wc/v2/' там есть маршруты для получения информации о заказах. Но они все требуют авторизации. Вы можете добавить свой маршрут в functions.php, например, вот так:
    register_rest_route( 'my_namespace/v1', '/orders/(?P<order_id>[\\d]+)/status', array(
            'methods' => 'GET',
            'callback' => function ($data) {
                $order = wc_get_order($data['order_id']);
                if (!$order) {
                    return false;
                }
    
                return ['order_status' => $order->get_status()];
            },
            'args' => array(
                'order_id' => array(
                    'default' => null,
                    'required' => true
                ),
            )
        ) );


    Результат будет таким:
    5dccfead8ef6d487750742.png
    Ответ написан
    2 комментария
  • Как в NestJS добавить 2 разных посредника на разные маршруты внутри одного модуля?

    Palych_tw
    @Palych_tw Автор вопроса
    Типа веб-разработчик
    Да, все оказалось проще. Метод forRoutes снова возвращает consumer.
    Поэтому просто вот так
    export class ImageModule implements NestModule {
        configure(consumer: MiddlewareConsumer) {
            consumer
                .apply(AwsImagesMiddleware)
                .forRoutes('dashboard/images/upload-images')
                .apply(AwsAvatarsMiddleware)
                .forRoutes('images/upload-avatar');
        }
    }
    Ответ написан
    Комментировать
  • Как это упростить?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Если это шаблон одиночной страницы/записи, то можно вот так
    <?php while ( have_posts() ) : the_post();
        $gallery = get_post_gallery( get_the_ID(), false );?>
        <div class="content-catalog">
            <?php if ( $gallery ) :
                foreach( $gallery['src'] as $src ) : ?>
                    <div class="item-img">
                        <div class="item-img-title"><span>look 1</span></div>
                        <img src="<?php echo $src; ?>" alt="">
                    </div>
                <?php
                endforeach;
            endif; ?>
        </div>
    
        <div class="overlay overlay-img">
            <div class="inner-overlay inner-img">
                <div class="overlay-close"></div>
                <div class="overlay-slider owl-carousel">
                    <?php if ( $gallery ) :
                        foreach( $gallery['src'] as $src ) : ?>
                            <div class="slide-item">
                                <img src="<?php echo $src; ?>" alt="#" />
                            </div>
                        <?php
                        endforeach;
                    endif; ?>
                </div>
            </div>
        </div>
    <?php endwhile; ?>
    Ответ написан
  • Как работать с сессиями Laravel?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Для авторизации по API давно придумали JWT (Json Web Token). JWT это закодированный в base-64 json объект, состоящий из заголовков, пейлоада и хеша подписи. В пейлоад вы можете засунуть всю инфу, за которой не хотите бегать в базу, имя юзера, роль и т.д. Подлинность токена гарантируется подписью. Подписывается токен на бекенде, при создании, вашей секретной строкой. Для Laravel есть пакет .
    Сайт JWT - https://jwt.io
    Ответ написан
    Комментировать
  • Можно ли добавить кнопку печати страницы в товарах Woocomerce?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    В примере, у вас по клику открывается новая страница, специально сверстанная под печать, и вызывается window.print() на js для открытия диалога печати из браузера. Что конкретно у вас не получается сделать?
    1. Вы можете вставить кнопку в карточку товара, по клику на которую будет посылаться на печать текущая страница. И с помощью css и @media print {} можете застайлить страницу специально для печати. Кнопку можно вставить переопределив шаблоны вукомерса или добавив хук в свои функции.
    2. Если вы хотите создавать отдельную страницу специально для печати, как в примере, то тут придется много кодить, и если у вас нет опыта, вряд ли вы сами справитесь.
    Ответ написан
    Комментировать
  • WordPress: почему the_title() и прочие функции (get_posts() ) выводят данные текущей страницы, а не постов, прописанных в аргументах get_post?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Попробуйте так:
    function testimonial_letters_function ()
    {
     global $post;
      $args = array('post_type' => 'post', 'category' => 7 );
      $myposts = get_posts( $args );
      foreach( $myposts as $post ){ 
        setup_postdata($post);
        echo ('<h2>'.the_title().'</h2>');
        echo ('<h2>'.the_permalink().'</h2>');
      }
    wp_reset_postdata();
    }


    А еще лучше, используйте WP_Query:
    function testimonial_letters_function ()
    {
        $args = array('post_type' => 'post', 'cat' => 7 );
        $myposts = new WP_Query( $args );
        while( $myposts->have_posts() ) {
            $myposts->the_post();
            echo ('<h2>'.the_title().'</h2>');
            echo ('<h2>'.the_permalink().'</h2>');
        }
        wp_reset_postdata();
    }
    Ответ написан
    3 комментария
  • Шорткоды и повторитель Advanced Custom Fields - в чем ошибка?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    А дальше по коду страница рендерится? футер и т.д? похоже, что пхп натыкается на ошибку, но вывод выключен.

    И еще, даже если бы работало, шорткод вывелся бы просто текстом, потому что the_sub_field(), если я не ошибаюсь, не должна фильтровать контент. Чтобы шорткод выполнился попробуйте заменить вывод на
    apply_filters( 'the_content', get_sub_field( 'clinic-column_content' ) );


    UPD. Раз в самом поле весь контент присутствует, попробуй заменить сам цикл вывода репитера. Вот это:
    <?php while ( have_rows( 'clinic-side_columns' ) ) : the_row(); ?>
            <div class="block <?php the_sub_field( 'grid_columns' ); ?>">
                <div class="title tc"><h2><?php the_sub_field( 'clinic-column_title' ); ?></h2></div>
                <div class="content"><?php the_sub_field( 'clinic-column_content' ); ?></div>
            </div>
        <?php endwhile; ?>


    Замени на:
    <?php $rows = get_field('clinic-side_columns');
    foreach ( $rows as $row ) : ?>
        <div class="block <?= $row['grid_columns']; ?>">
            <div class="title tc"><h2><?= $row['clinic-column_title']; ?></h2></div>
            <div class="content"><?= $row['clinic-column_content']; ?></div>
        </div>
    <?php endforeach;?>
    Ответ написан
  • Вывод значений через array_splice?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Если на скорую руку, то так. Может, можно умнее сделать)
    <div class="block-content">
        <div class="container cf">
            <div class="large b-row cf">
                <!-- Здесь выводится 2 первые заметки-->
                <?php $i = 0; //счетчик постов
                foreach ($brands as $brand) :
                    //прерываем цикл если вывели 2 поста
                    if ($i === 2)
                        break; ?>
                    <div class="column half b-col">
                        <article>
                            <a href="#"> </a>
                            <h2 class="post-title"><a href="#"><?=$brand->title;?></a></h2>
                            <div class="cf listing-meta meta below"> <span class="meta-item author"><?=$brand->title;?> <a href="#"><i class="fa fa-comments-o"></i> 3</a></span></div>
                            <div class="excerpt">
                                <p>
                                    <?=$brand->description;?>
                                </p>
                            </div>
                        </article>
                    </div>
                    <?php $i++;
                endforeach; ?>
            </div>
            <ul class="b-row posts-list thumb">
                <!-- снова перебираем массив но уже в нем будут удалены выведенные выше объекты -->
                <?php $i = 0; //сбрасываем счетчик постов
                foreach ($brands as $brand) :
                    //пропускаем итерации для первых 2 постов
                    if ($i <= 2)
                        continue; ?>
                    <li class="column half b-col">
                        <article class="post cf">
                            <a href="#"> </a>
                            <div class="content">
                                <a href="#"><?=$brand->title;?></a>
                                <div class="cf listing-meta below"> <time datetime="2017-01-10T03:34:37+00:00" class="meta-item">Jan 10, 2017</time></div>
                            </div>
                        </article>
                    </li>
                <?php $i++;
                endforeach; ?>
            </ul>
        </div>
    </div>
    Ответ написан
    Комментировать
  • Как сделать так, чтобы выводилось верное сообщение об ошибке?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    if (paswword.value != confirmPassword.value && (paswword.value.length < "6" || confirmPassword.value.length < "6"))

    да, у && бОльший приоритет. Поэтому условие с || нужно взять в скобки
    Ответ написан
    1 комментарий
  • Как вывести форму Contact Form 7 на главной в WordPress?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Форма выводится шорткодом. Либо в контенте, либо в php шаблоне с помощью do_shortcode()
    Например
    echo do_shortcode('[contact-form-7 id="91" title="quote"]')
    Ответ написан
    1 комментарий
  • Почему не работают php функции wordpress?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    А каким образом у вас файл ff.php знает о существовании WordPress?
    Ответ написан
    4 комментария
  • Ошибка страницы авторов в Wordpress?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    В неправильной ссылке, в неправильном шаблоне отображения, в модификации главного запроса. Без кода можно гадать долго)

    UPD
    Строку
    $query = array("author"=> the_author_meta() );
    замените на
    $query = array("author"=> get_the_author_meta('ID') );
    Ответ написан
    9 комментариев
  • Как написать хук для замены html кода в файле .php темы?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Ну в этой функции никаких хуков не вызывается, а значит всунуться вы никуда не сможете. Судя по пути к файлу, у вас уже дочерняя тема. Почему бы просто не добавить нужный html в функцию ?
    Ответ написан
  • Почему не работает сложение в append?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Не используйте $ для названия переменных, если работаете с jQuery
    var a = 1, _ = 2;
    $("#5").append( a + _ );

    Нормально работает.

    Вы же переписываете объект jQuery своим значением, а потом пытаетесь к нему обратиться $("#5"), но в $ у вас уже лежит значение '1'

    Ну или второй варинат:
    var $ = 1, _ = 2;
    jQuery("#5").append( $ + _ );

    Но $ все равно лучше не использовать.
    Ответ написан
    Комментировать
  • Как сделать чтоб работали категории и метки для блога сделаного через кастомный тип записи?

    Palych_tw
    @Palych_tw
    Типа веб-разработчик
    Скорее всего, вы неправильно назвали шаблон. Смотрите иерархию шаблонов в документации https://developer.wordpress.org/themes/basics/temp...
    На картинке секции "Custom Pos Type Archive" и "Custom Taxonomy Archive" - выбирайте нужное и создавайте файл.

    Если Вам нужна архивная страница всех записей с типом "blog" - то это будет archive-blog.php

    Сам шаблон category.php, по идее, выводит только стандартные посты, даже если вы добавили к категориям свой произвольный тип записей. Тут уже нужно в хук pre_get_posts и добавить в запрос ваш кастомный тип.
    Попробуйте так :
    add_action('pre_get_posts', 'add_blog_to_category');
    function add_blog_to_category( $query ){
    	if ( ! is_admin() && $query->is_main_query() && is_category() ) {
    		$query->set('post_type', array('post', 'blog') ); //здесь пишем все типы постов, которые нужны.
    	}
    }


    Подробнее здесь https://wp-kama.ru/hook/pre_get_posts и https://www.wpbeginner.com/wp-tutorials/how-to-add...
    Ответ написан
    2 комментария