Кроме того - структура базы и данных может поменяться при обновлении. Такое уже было неск раз в истории ВП. Соответственно, всё может поломаться.
При чтении (как в данном случае) ты конечно не повредишь базу, но легко можно получить неверные результаты. А вот когда так изменяют данные, и тем боле добавляют — это очень опасно.
Поэтому нужно просто привыкать использовать функции/апи.
В данный момент все работает. И хорошо. Поломается - буду обновлять) В общем я так и начинал осваивать базы txt = > csv => SQLite => MySQL Постепенно понимал преимущества каждого варианта 🤪
SeVlad:
Кстати, а какова цель получения всех ИД? Зачем и где потом должно использоваться?
У меня по ним самописный плагин карту сайта создает/обновляет. Стандартные плагины тормозят все неимоверно.
SeVlad:
Ну хорошо, что тут хоть специальный класс использовал . Это более безопасно, но без особой нужды и его не стоит трогать. Во всяком случае до хорошего понимания ВП.
'post_type' => 'post', // тип поста
'posts_per_page' => -1, // количество записей, -1 - все
'post_status' => 'publish'// только опубликовыные посты
При большом количестве постов не хватает оперативки. В посте есть отличная функция которая выводит в массиве даже сто тысяч id. Но она не учитывает publish поста.
---------- Добавлено 14.05.2018 в 21:37 ----------
Если переписать функцию в начале темы под таблицу с записями то она перестает работать. Возвращает пустой массив.
function _post_id( $cat_or_tag_id='publish'){
global $wpdb;
$all_posts = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->wp_posts WHERE post_status = %d", $cat_or_tag_id ) );
return $all_posts;
}
---------- Добавлено 14.05.2018 в 21:43 ----------
Бинго! Все заработало!!! Оказывается не надо писать wp_ перед названием таблицы)
Вот работающий варинат - возвращает массив с id всех опубликованных записей (и страниц)
function _post_id( $cat_or_tag_id='publish'){
global $wpdb;
$all_posts = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_status = %d", $cat_or_tag_id ) );
return $all_posts;
}
Dodgerdodger: В поддержку эдсенса никто не обращался?
---------- Добавлено 27.04.2018 в 14:52 ----------
Если бы боялись санкций, то убрали бы Рапиду из вариантов оплаты.
Ну так возможно через третьих лиц связаны как-то. Вот и решают что делать и деньги задержали. Это конечно одна из версий. Но она хоть как-то объясняет задержку именно Рапиде.
Я об этом и писал, что Гугл не перечисляет. У меня письма и оплата почти всегда синхронно приходила. Нет писем от гугла значит он не переводил еще.
Думаю корень в Рапиде - кто-то там попал под санкции, Гугл боится переводить, чтобы не нарваться. Хотя прошел по владельцам - вроде никого нет в списках санкционных (смотрел последние за 6 апреля)
darkworld: У кого-то и на завтра есть настрой, мне уже все равно. Даже, если завтра будут поступления, получу я их не раньше 3-4 МАЯ (т.к. настроен автоплатеж по шаблону на карту)! Это ужас, ребята 😡
Jurgen s: та вы шо? синхронно? почти? и давно разница в 1-3 дня это почти синхронно? не ленитесь, зайдите в почту, зайдите в рапиду и сравните даты. уже обсуждали это.
И да, сфит по разным причинам может идти 1-3 банковских дня... так что
За последние 7 месяцев один раз на один день промазали)
В августе было на 2 дня. А так день в день. Так что думаю гугл. Ну или рапида дает отмашку гуглу после зачисления на отправку писем.
darkworld: Скорее всего задержки со стороны Гугла, не было письма о проверке платежа и в аккаунте Адсенса до сих пор статус ожидание отправки платежа висит. Рапидовцы не меньше нас ждут деньги, уже заикались все наверное! :)
Вашу мысль подтверждает тот факт, что письма от гугла об оплате приходят почти синхронно с платежами.
Ну не может же быть, что гугл отправляет деньги и ждет от рапиды отмашки 5 дней. Типа "слать письма об оплате или вы еще деньги покрутите на счетах?"))
Так что меньше конспирологии. Думаю гугл еще сам в процессе. Обиделся на РКН.
sapsan72: Тоесть известны???? А когда они на 2-3 дня задерживают????
Ну если например завтра курс ниже, ждут завтра. Если завтра после обновления курса оказывается что послезавтра ниже - есть смысл держать еще и еще. Пока не будет завтрашний курс выше сегодняшнего. Курс обновляют в 12. Все норм.
Вот только теория не подтверждается платежами - нет корреляции между низким курсом и датой выплаты. (см мой пост выше)
sultanbey: На завтра курс уже вышел и будет на 10 копеек ниже. Поэтому выгоднее им конвертировать сегодня чем завтра. Вероятно выплаты сегодня и будут.
Завтра курс ниже и выгоднее платить завтра. НО! Взял историю курсов ЦБ и историю выплат. Не нашел закономерности в курсе.
Например 22.09.17 была выплата, хотя на следующий день курс был ниже аж на 57 копеек.
А вот 26.05.17 как раз был самый низкий курс. Но в большинстве случаев наоборот.
Кроме того - структура базы и данных может поменяться при обновлении. Такое уже было неск раз в истории ВП. Соответственно, всё может поломаться.
При чтении (как в данном случае) ты конечно не повредишь базу, но легко можно получить неверные результаты. А вот когда так изменяют данные, и тем боле добавляют — это очень опасно.
Поэтому нужно просто привыкать использовать функции/апи.
В данный момент все работает. И хорошо. Поломается - буду обновлять) В общем я так и начинал осваивать базы txt = > csv => SQLite => MySQL Постепенно понимал преимущества каждого варианта 🤪
Кстати, а какова цель получения всех ИД? Зачем и где потом должно использоваться?
У меня по ним самописный плагин карту сайта создает/обновляет. Стандартные плагины тормозят все неимоверно.
Ну хорошо, что тут хоть специальный класс использовал . Это более безопасно, но без особой нужды и его не стоит трогать. Во всяком случае до хорошего понимания ВП.
Ну хоть что-то правильно сделал ☝
sql инъекции, уязвимость
а выше описанные функции делают защиту от них
вот функция возращает все id постов
'post_type' => 'post', // тип поста
'posts_per_page' => -1, // количество записей, -1 - все
'post_status' => 'publish'// только опубликовыные посты
При большом количестве постов не хватает оперативки. В посте есть отличная функция которая выводит в массиве даже сто тысяч id. Но она не учитывает publish поста.
---------- Добавлено 14.05.2018 в 21:37 ----------
Если переписать функцию в начале темы под таблицу с записями то она перестает работать. Возвращает пустой массив.
function _post_id( $cat_or_tag_id='publish'){
global $wpdb;
$all_posts = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->wp_posts WHERE post_status = %d", $cat_or_tag_id ) );
return $all_posts;
}
---------- Добавлено 14.05.2018 в 21:43 ----------
Бинго! Все заработало!!! Оказывается не надо писать wp_ перед названием таблицы)
Вот работающий варинат - возвращает массив с id всех опубликованных записей (и страниц)
В поддержку эдсенса никто не обращался?
---------- Добавлено 27.04.2018 в 14:52 ----------
Если бы боялись санкций, то убрали бы Рапиду из вариантов оплаты.
Ну так возможно через третьих лиц связаны как-то. Вот и решают что делать и деньги задержали. Это конечно одна из версий. Но она хоть как-то объясняет задержку именно Рапиде.
Я об этом и писал, что Гугл не перечисляет. У меня письма и оплата почти всегда синхронно приходила. Нет писем от гугла значит он не переводил еще.
Думаю корень в Рапиде - кто-то там попал под санкции, Гугл боится переводить, чтобы не нарваться. Хотя прошел по владельцам - вроде никого нет в списках санкционных (смотрел последние за 6 апреля)
У кого-то и на завтра есть настрой, мне уже все равно. Даже, если завтра будут поступления, получу я их не раньше 3-4 МАЯ (т.к. настроен автоплатеж по шаблону на карту)! Это ужас, ребята 😡
Вывожу вручную на Яндекс.Деньги. 1 секунда.
Единственное, что не в пользу рапиды говорит, то что зачисляют по курсу 21 числа. Значит деньги приходят всегда 21.
А учитывая что завтра курс +1 рубль, то наверное завтра и зачислят. (если послезавтра не будет +2)))
та вы шо? синхронно? почти? и давно разница в 1-3 дня это почти синхронно? не ленитесь, зайдите в почту, зайдите в рапиду и сравните даты. уже обсуждали это.
И да, сфит по разным причинам может идти 1-3 банковских дня... так что
За последние 7 месяцев один раз на один день промазали)
В августе было на 2 дня. А так день в день. Так что думаю гугл. Ну или рапида дает отмашку гуглу после зачисления на отправку писем.
Скорее всего задержки со стороны Гугла, не было письма о проверке платежа и в аккаунте Адсенса до сих пор статус ожидание отправки платежа висит. Рапидовцы не меньше нас ждут деньги, уже заикались все наверное! :)
Вашу мысль подтверждает тот факт, что письма от гугла об оплате приходят почти синхронно с платежами.
Ну не может же быть, что гугл отправляет деньги и ждет от рапиды отмашки 5 дней. Типа "слать письма об оплате или вы еще деньги покрутите на счетах?"))
Так что меньше конспирологии. Думаю гугл еще сам в процессе. Обиделся на РКН.
Тоесть известны???? А когда они на 2-3 дня задерживают????
Ну если например завтра курс ниже, ждут завтра. Если завтра после обновления курса оказывается что послезавтра ниже - есть смысл держать еще и еще. Пока не будет завтрашний курс выше сегодняшнего. Курс обновляют в 12. Все норм.
Вот только теория не подтверждается платежами - нет корреляции между низким курсом и датой выплаты. (см мой пост выше)
На завтра курс уже вышел и будет на 10 копеек ниже. Поэтому выгоднее им конвертировать сегодня чем завтра. Вероятно выплаты сегодня и будут.
Завтра курс ниже и выгоднее платить завтра. НО! Взял историю курсов ЦБ и историю выплат. Не нашел закономерности в курсе.
Например 22.09.17 была выплата, хотя на следующий день курс был ниже аж на 57 копеек.
А вот 26.05.17 как раз был самый низкий курс. Но в большинстве случаев наоборот.
Так что теория курса ЦБ не подтверждается.
Вот кстати история курсов кому интересно http://cbr.ru/currency_base/dynamics.aspx?VAL_NM_RQ=R01235&date_req1=10.04.2017&date_req2=25.04.2018&rt=1&mode=1