Поддержка Проблемы и решения Хранение данных в wp_posts и wp_postmeta

Просмотр 10 ответов — с 136 по 145 (всего 145)
  • @yube , спасибо Вам огромное, решил вопрос с wp-login.php с помощью хука login_form_login. Можно вернуться к предыдущему вопросу и спросить у Вас про экспорт данных в .csv с помощью функции fputcsv() — вы писали:

    Лайфхак 🙂 BOM в начале файла и csv-строки, сформированные функцией fputcsv() с сепаратором ;, Эксель кушает за милую душу.

    Подскажите, пожалуйста, можно ли при данном экспорте в экспортируемых данных все точки заменять на запятые ?
    fputcsv($out, array("$i", "$uno", "$name_object", "$date", "$region", "$area_type", "$name_np", "$costs", "$place", "$unit_cost"), ';');
    Не подскажете как это реализовать ?

    Модератор Yuri

    (@yube)

    Не подскажете как это реализовать ?

    Можно через array_map.

    $a = array_map(function($a){return str_replace('.', ',', $a); }, $a);
    

    @yube , вы имеете ввиду в функции обратного вызова, используемой array_map() , все входные значения обработать функцией str_replace() и таким образом провести требуемую замену символов во всех элементах ? Верно я понял?

    Модератор Yuri

    (@yube)

    Я показал код, который (по идее) меняет . на , во всех элементах массива $a.

    @yube , спасибо огромное, перезагрузил страницу, и весь код отобразился 🙂 верно понял, буду пробовать

    @yube , спасибо, всё получилось! Теперь Excel отлично кушает числа с разделителем ,, не преобразуя их в дату. @yube , как-то ранее я также спрашивал у Вас про выборку данных из БД:

    данные для экспорта из базы я выбираю по одной метке и по одной категории, а если категорий или меток несколько, нужно перечислять их в коде через запятую ?

    $query = new WP_Query(
        array(
        'post_type' => 'post',
        'tax_query' => array(
    array(
                'taxonomy' => 'post_tag',
                'field'    => 'slug',
                'terms'    => $export_period_1, $export_period_2
                ),), )
    );

    Вы ответили

    Думаю, лучше массивом

    Подскажите, пожалуйста, а если переменная $export_period и есть массив, я ведь могу прописать 'terms' => $export_period и будут выбираться данные соответственно этому массиву ?
    И позвольте задать последний вопрос, не могу реализовать никак — как организовать выборку из БД подобно описанной выше, но извлекать из базы данных только посты за последние три года, где точка отсчета «сегодня»? я могу указать явно 3 последние года, но время идет и через год последние 3 года это уже другое время. Не подскажете как это сделать, чтобы не переделывать запрос постоянно, а чтобы запрос извлекал данные за 3 последние года, начиная с «сегодня» ?

    Модератор Yuri

    (@yube)

    будут выбираться данные соответственно этому массиву ?

    В доке написано

    ‘terms’
    (string|int|array) Term or terms to filter by.

    Должно понять правильно.

    извлекать из базы данных только посты за последние три года

    https://developer.wordpress.org/reference/classes/wp_query/#date-parameters
    там даже пример есть с 'after' => '1 month ago' (3 year в вашем случае)

    @yube , вы писали:

    `‘terms’
    (string|int|array) Term or terms to filter by.`
    Должно понять правильно.

    Попробовал так 'terms' => $export_period, где $export_period это массив, полученный из выбранных значений select, вроде всё отрабатывает верно.
    по поводу второй части вопроса:

    там даже пример есть с 'after' => '1 month ago' (3 year в вашем случае)

    Т.е. получается выбираются записи именно от «сейчас» за прошедший месяц и уже далее с выбранными записями можно делать всё что угодно — в том числе корректировать связанные записи из таблицы wp_postmeta по определенному ключу metakey и т.д., верно ? и в дальнейшем запрос переделывать не нужно

    @yube , в любом случае спасибо огромное, буду разбираться

    @yube , спасибо Вам огромное за помощь и терпение ! Буду дальше разбираться, а вопрос данной темы решен в более чем полном объеме, не только касательно хранения данных в wp_posts и wp_postmeta, но и их извлечения, дальнейшей обработки и даже экспорта. Содержание данной темы буду использовать как инструкцию.
    @yube , ещё раз огромное Вам спасибо за ответы и помощь !

Просмотр 10 ответов — с 136 по 145 (всего 145)
  • Тема «Хранение данных в wp_posts и wp_postmeta» закрыта для новых ответов.