• Как сделать, чтобы в get_posts() выводились только записи, если есть вхождение нужного слова в заголовке (title) записи?

    @sepetov
    Программист Navision, программист PHP
    Видимо, нужно этот ваш цикл:
    foreach ($posts as $post) {
        $comments_number = get_comments_number($post->ID);
        if ($comments_number == 0) {
            array_push($new_posts, $post);
        }
    }

    Доработать вот так:
    foreach ($posts as $post) {
        if (strpos($post->post_title, "МСК+0") === false) // <<<==== вот этот блок
            continue;
    
        $comments_number = get_comments_number($post->ID);
        if ($comments_number == 0) {
            array_push($new_posts, $post);
        }
    }

    Это хотели?
    Ответ написан
    2 комментария
  • Почему вывод wget не перенаправляется в файл?

    @sepetov Автор вопроса
    Программист Navision, программист PHP
    Чтение руководства было малоэффективным и долгим, но нужного результата я всё-таки добился. Вот с такими ключами работает:
    wget ya.ru -O /dev/null -a test.txt
    Скаченного файла с ya.ru не будет, а в text.txt будет вывод самого wget-а.
    Ответ написан
    Комментировать
  • Как мне не создавая кучу переменных автоматизировать процесс?

    @sepetov
    Программист Navision, программист PHP
    Можно сделать ваш input вот таким:
    <input type="text" value="<?php echo $row['answer']; ?>" name="answer[]">

    Это будет работать. В $_POST['answer'] в итоге будет лежать массив выбранных ответов.

    Можно ещё и так сделать:
    <input type="text" value="<?php echo $row['answer']; ?>" name="answer[<?php echo $row['question_number']; ?>][]">

    В $_POST['answer'] тоже будет массив, ключами которого будут номера вопросов, а значениями - массивы с ответами.

    Идея понятная, сможете дальше сами, или нужна ещё помощь?
    Ответ написан
    Комментировать
  • Почему перезагружается страница, когда я перезагружаю только контейнер pjax?

    @sepetov Автор вопроса
    Программист Navision, программист PHP
    Причина оказалась в том, что pjax берёт данные с текущего url, если не указать явный. В моём случае нужные данные находятся в другом контроллере (не в том, который показывает это представление). Можно поменять так:
    let href = '/some/data';
    $.pjax.reload({container:'#data-grid-view', url:href, push:false});

    Это работает, но pjax игнорирует push = false, когда явно указан параметр url. Но это можно обойти так:
    $.pjax({
        url: '/some/data',
            container  : '#data-grid-view',
            push : false,
    });

    Как видно, вызывается $.pjax(), а не $.pjax.reload(), но работает как reload().
    Ответ написан
    1 комментарий
  • Как запретить pjax yii2 менять url?

    @sepetov
    Программист Navision, программист PHP
    Ну что? Спустя полгода ответ наверняка уже потерял актуальность, но я отвечу :-) Кому-то другому пригодится.

    Как я понял, $.pjax.reload() не любит, когда одновременно указаны url и push, второй параметр он игнорирует. Но можно не вызывать .reload() напрямую, а имитировать его поведение вот так:
    $.pjax({ // <<<=== нет вызова .reload()
            url : 'тут ваш url',
            container : '#ваш_id,
            push : false,
    });

    Остальные параметры - по вкусу. У меня работает и url не меняется.
    Ответ написан
    Комментировать
  • Почему перекрывает .modal-backdrop модальное окно, z-index вроде бы как, у модального окна больше?

    @sepetov
    Программист Navision, программист PHP
    Ну, спустя столько лет ответ уже явно не актуален :-)
    Тем не менее, вопрос в поиске встречается и есть около тысячи просмотров, поэтому для пользы других - отвечу.

    Причина в том, что у вас и модальный элемент div, и вызывающий его элемент button вложены куда-то в общий для них элемент, какой-нибудь div. Их нужно разнести.

    Лучше поместить модальный div куда-нибудь в самый низ страницы. А ещё лучше, куда-нибудь ближе к корню документа, чуть ли не в body, чтобы у него было как можно меньше родительских тегов. Это касается всех модальных решений.
    Ответ написан
    1 комментарий
  • Chart.js - есть ли способ задавать разные цвета для линий графиков автоматически?

    @sepetov
    Программист Navision, программист PHP
    Ответ на вопрос навряд ли уже актуален для автора, но может быть потребуется кому-то ещё.

    Для этой ChartJS есть расширение chartjs-plugin-autocolors. Цвета генерирует иногда плохо, иногда отвратно, но в целом пойдёт.

    Для подключения сделать это:
    <script src="https://cdn.jsdelivr.net/npm/chartjs-plugin-autocolors"></script>

    Потом где-нибудь в функции/скрипте, где создаётся график, делаете это:
    const autocolors = window['chartjs-plugin-autocolors'];
    Chart.register({
        autocolors
    });

    В документации есть и другие способы подключения (в т. ч. индивидуально для каждой диаграммы), но почему-то у меня они не заработали, поэтому поделился рабочим рецептом.
    Ответ написан
    Комментировать