- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Была прекрасная тема, которая единственная во всем нете объясняла как получить ID всех опубликованных записей в Вордпрересс. Пользовался этой функцией успешно /ru/forum/418293
Но теперь не все хостинги поддерживают устаревший mysql_query()
Как это сделать не нашел. Во откопал такую вот функцию. Но она выводит все ID (и черновики и корзину.)
Пробовал переписать под wp_posts заменив данные - дает пустой массив.
А что мешает вам в прежнем решении использовать вместо mysql, например, mysqli?
Т.е вместо
mysql_connect(‘localhost’, $user, $password)
использовать
mysqli_connect(‘localhost’, $user, $password, $dbname)
Как это сделать не нашел.
https://codex.wordpress.org/Class_Reference/WP_Query - офиц. ман
http://wp-kama.ru/function/wp_query - вольный перевод по русски.
Но теперь не все хостинги поддерживают устаревший mysql_query()
Не трогай базу! Никогда не трогай базу руками.
Почему? Я новичок просто
sql инъекции, уязвимость
а выше описанные функции делают защиту от них
вот функция возращает все id постов
'post_type' => 'post', // тип поста
'posts_per_page' => -1, // количество записей, -1 - все
'post_status' => 'publish'// только опубликовыные посты
sql инъекции, уязвимость
а выше описанные функции делают защиту от них
вот функция возращает все id постов
'post_type' => 'post', // тип поста
'posts_per_page' => -1, // количество записей, -1 - все
'post_status' => 'publish'// только опубликовыные посты
При большом количестве постов не хватает оперативки. В посте есть отличная функция которая выводит в массиве даже сто тысяч id. Но она не учитывает publish поста.
---------- Добавлено 14.05.2018 в 21:37 ----------
Если переписать функцию в начале темы под таблицу с записями то она перестает работать. Возвращает пустой массив.
---------- Добавлено 14.05.2018 в 21:43 ----------
Бинго! Все заработало!!! Оказывается не надо писать wp_ перед названием таблицы)
Вот работающий варинат - возвращает массив с id всех опубликованных записей (и страниц)
Ну откуда мне знать какое количество ты там выводишь? :)
Я думал там небольшое количество тебе надо то моя функция справился бы на ура.
Я вообще через wp-api делал бы большой вывод данных.
Тебе выше написали не трогай прямые обращение к бд, но видимо тебя не переубедить, дело твое, набьешь шишки, поймешь :)
Почему? Я новичок просто
Прежде всего потому, что в базе много зависимостей, временных данных и хранение в сериализованных массивах. См https://codex.wordpress.org/Database%20Description
Кроме того - структура базы и данных может поменяться при обновлении. Такое уже было неск раз в истории ВП. Соответственно, всё может поломаться.
При чтении (как в данном случае) ты конечно не повредишь базу, но легко можно получить неверные результаты. А вот когда так изменяют данные, и тем боле добавляют — это очень опасно.
Поэтому нужно просто привыкать использовать функции/апи.
(Ок, пароль можно изменить руками. А вот логин или домен уже нет. Логин вообще менять нельзя).
«Руками» — значит прямыми SQL запросами в БД или непосредственно в РМА или аналогах.
При большом количестве постов не хватает оперативки.
Может времени? get_posts не быстрая функция.
Кстати, а какова цель получения всех ИД? Зачем и где потом должно использоваться?
Оказывается не надо писать wp_ перед названием таблицы)
Вот работающий варинат - возвращает массив с id всех опубликованных записей (и страниц)
Ну хорошо, что тут хоть специальный класс использовал . Это более безопасно, но без особой нужды и его не стоит трогать. Во всяком случае до хорошего понимания ВП.
А это, кстати, хороший пример/объяснение почему нельзя использовать прямые SQL-запросы - ты нарвался на префикс таблиц. А он не должен участвовать в запросах/коде, тк его можно изменить и при установке ВП и даже после (хотя это не стоит делать на рабочем сайте).
Тебе выше написали не трогай прямые обращение к бд,
Ну справедливости ради, в данном случае (использование wpdb) более-менее нормально. Хуже было бы если бы голым SQL полез.
seovisor, если хочешь понять ВП и что делает код см. как надо делать: увидел функцию (как напр get_posts, что показал AGRESSOR ) — идешь в кодекс (и новый, пока не полный) или на https://wp-kama.ru/functions и ищешь там функцию, изучаешь. Функции имеют логически и интуитивно понятные названия, так что поиск нужной тоже не составляет труда. Ну а так, если что надо сделать — лучше переспросить на форуме, подскажем как лучше/правильнее/безопаснее решить задачу.
Кроме того - структура базы и данных может поменяться при обновлении. Такое уже было неск раз в истории ВП. Соответственно, всё может поломаться.
При чтении (как в данном случае) ты конечно не повредишь базу, но легко можно получить неверные результаты. А вот когда так изменяют данные, и тем боле добавляют — это очень опасно.
Поэтому нужно просто привыкать использовать функции/апи.
В данный момент все работает. И хорошо. Поломается - буду обновлять) В общем я так и начинал осваивать базы txt = > csv => SQLite => MySQL Постепенно понимал преимущества каждого варианта 🤪
Кстати, а какова цель получения всех ИД? Зачем и где потом должно использоваться?
У меня по ним самописный плагин карту сайта создает/обновляет. Стандартные плагины тормозят все неимоверно.
Ну хорошо, что тут хоть специальный класс использовал . Это более безопасно, но без особой нужды и его не стоит трогать. Во всяком случае до хорошего понимания ВП.
Ну хоть что-то правильно сделал ☝