Wordpress: добавление thumbnail в БД

AK
На сайте с 23.02.2009
Offline
117
885

Всем добрый день!

Делаю для себя простой постер в БД (POST запрос -> php -> mysql). Уже битый час не могу побороть добавление thumbnail к посту (через запрос к БД).

(далее хождение по мукам)

Установил wp, очистил полностью от записей. Добавил простой пост в админке, приделал ему thumbnail-картинку. Смотрю БД:
1. Сама запись
2. К ней запись с флагом attachment и ссылкой на картинку.

Пишу php - делаю точь-в-точь такие же две записи - нету thumbnail :(

Кто сталкивался, помогите, пожалуйста! Где я проглядел?

(inb4 перелезть Wordpress API просьба не предлагать)

SeVlad
На сайте с 03.11.2008
Offline
1609
#1
ant_key:
Wordpress API просьба не предлагать

Религиозность мешает?

ant_key:
Пишу php - делаю точь-в-точь такие же две записи - нету thumbnail

Потому что надо ещё смотреть wp_postmeta (вроде бы, не помню уже точно). И вообще если научиться сравнивать 2 дампа - то многое станет понятней ;)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
AK
На сайте с 23.02.2009
Offline
117
#2

Спасибо. Да, в _postmeta действительно добавляется запись:

с флагом wp_attached_file с POST_ID изображения (а не основной записи) и и ссылкой на файл-картинку.

Но что-то пока не удается воспроизвести…

научиться сравнивать 2 дампа

Чем проще всего сравнить два дампа? Не монстроузное, как mysql под windows, а полегче...

upd Нагуглил Toad for MySQL - вроде бы нелохая программа, сейчас посмотрим…

SeVlad
На сайте с 03.11.2008
Offline
1609
#3
ant_key:
Чем проще всего сравнить два дампа?

Ну в данном случае можно и любой софтиной для сравнения ТЕСТОВЫХ файлов. Например правильным файлменеджером, таким как тоталкоммандир.

ant_key:
Но что-то пока не удается воспроизвести…

сериальные данные, однако :) и внимание(!):

ant_key:
POST_ID изображения

И всё же - почему не АПИ? Ведь при след релизе ВП софтину может понадобиться переписывать. И опять же - сериальные данные запаришься пересчитывать.

AK
На сайте с 23.02.2009
Offline
117
#4
SeVlad:
И всё же - почему не АПИ? Ведь при след релизе ВП софтину может понадобиться переписывать.

Софтина просто передает данные POST-ом, а если поменяется чтото в БД - просто поправлю в скрипте и все. Если честно, лень разбираться, нет времени сейчас на api - итак все работает (и быстрее, чем через api, чего уж там) реализовал абсолютно все - посты, страницы, все таксономии, загрузку картинок, единственное - проблема выше.

SeVlad
На сайте с 03.11.2008
Offline
1609
#5
ant_key:
Софтина просто передает данные POST-ом, а если поменяется чтото в БД - просто поправлю в скрипте и все.

Оптимист :)

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

Поверь - АПИ-это правильный выход. Да, чуть медленнее, но не настолько критично, что бы иметь удовольствие испытывать регулярный головняк при разных ситуациях (и не только при обновлении движка).

ЗЫ, И да, я в пост выше добавочки вносил.

AK
На сайте с 23.02.2009
Offline
117
#6

YES! Проблему разрешил. Итак, напишу вкратце, если кто будет гуглить на будущее (потому я блин не то что в рунете, даже и на английском не нашел описания работы с таблицами в данной ситуации):

wp_posts:

1. Добавляем строку (допустим его POST_ID = 1)

2. Добавляем "дочернюю" строку с ссылкой на картинку (его POST_ID = 2), его post_type = post_type, mime/type = image/jpeg, post_parent = 1 (соответственно)

wp_post_meta:

3. Добавляем строку: по столбцам: meta_id = счетчик, post_id = 2, meta_key = _wp_attached_file, meta_value = ссылка на файл-картинку

4. Добавляем еще одну строку: meta_id = счетчик, post_id = 1, meta_key = _thumbnail_id, meta_value = post_id = 2

Всё в духе wordpress - связываем одно значение с двумя другими.

Поверь - АПИ-это правильный выход. Да, чуть медленнее, но не настолько критично, что бы иметь удовольствие испытывать регулярный головняк при разных ситуациях (и не только при обновлении движка).

Чуть позже изучу, пока просто реально времени нет - надо клепать уже проекты. Плюс меня смущает, что при работе в api нет какбэ прозрачности чтоли - то есть постишь, и оно само как-то делается, а хз что там за api происходит, нет четкого понимания (которое понадобится при расколупливании проблемы типа обозначенной в топике).

Sevlad, cпасибо за поддержку! Приятно, что кому-то это интересно, кроме меня.

SeVlad
На сайте с 03.11.2008
Offline
1609
#7
ant_key:
Чуть позже изучу, пока просто реально времени нет

Если ты в состоянии написать подобные записи в базу - АПИ покажется детским питанием :)

Не так страшен чёрт, как его малютки :) Не так много времени понадобится на его изучение. Начало, главное, схватить, а потом тупо заглядываешь с ман по конкретной функции. Делов (при такой-то базе) на пару-тройку .. ну десяток часов макс.

ant_key:
Приятно, что кому-то это интересно, кроме меня.

Не поверишь - подобные во(за)просы возникают с регулярностью пару раз в месяц на разных форумах :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий