Получение изображения записи через прямой SQL запрос

13 апр. 2012 г., 11:18:51
Просмотры: 27.4K
Голосов: 8

Я знаю, что можно использовать встроенные методы WordPress для получения миниатюры записи, однако в данном проекте мне нужно получить её через MySQL запрос. Может кто-нибудь подсказать, как это сделать правильно. Спасибо.

Вот что у меня есть на данный момент, но мой запрос не работает должным образом. У меня есть $post->id сохраненный в переменной $da_id

            $Featured_image = $wpdb->get_results("
            SELECT *
            FROM net_5_postmeta  
            INNER JOIN net_5_posts ON net_5_postmeta.post_id=net_5_posts.ID 
            WHERE post_parent = $da_id
            AND meta_key = '_wp_attached_file' 
            ORDER BY post_date 
            DESC LIMIT 15",'ARRAY_A');
0
Все ответы на вопрос 2
1
15

Родственное решение для запроса постов БЕЗ указания ID поста (сортировка по дате публикации, с использованием префикса wp_ для таблиц базы данных):

    SELECT
        p1.*,
        wm2.meta_value
    FROM 
        wp_posts p1
    LEFT JOIN 
        wp_postmeta wm1
        ON (
            wm1.post_id = p1.id 
            AND wm1.meta_value IS NOT NULL
            AND wm1.meta_key = "_thumbnail_id"              
        )
    LEFT JOIN 
        wp_postmeta wm2
        ON (
            wm1.meta_value = wm2.post_id
            AND wm2.meta_key = "_wp_attached_file"
            AND wm2.meta_value IS NOT NULL  
        )
    WHERE
        p1.post_status="publish" 
        AND p1.post_type="post"
    ORDER BY 
        p1.post_date DESC
10 мая 2012 г. 19:39:00
Комментарии

Не совсем то, о чём спрашивали, но для меня этот ответ более полезен.. спасибо!

vicenteherrera vicenteherrera
29 окт. 2014 г. 22:18:33
3
$Featured_image = $wpdb->get_results("
    SELECT p.*
      FROM net_5_postmeta AS pm
     INNER JOIN net_5_posts AS p ON pm.meta_value=p.ID 
     WHERE pm.post_id = $da_id
       AND pm.meta_key = '_thumbnail_id' 
     ORDER BY p.post_date DESC 
     LIMIT 15
",'ARRAY_A');
13 апр. 2012 г. 11:25:48
Комментарии

Юджин, ты спас мне жизнь, это работает просто отлично, СПАСИБО!

uknowit2 uknowit2
13 апр. 2012 г. 15:18:00

Пожалуйста! Отметьте правильный ответ и проголосуйте за него.

Eugene Manuilov Eugene Manuilov
13 апр. 2012 г. 15:37:59

еще раз спасибо, Юджин, я отметил как правильный, но, к сожалению, у меня недостаточно репутации, чтобы проголосовать, но я уверен, что это поможет другим. Этот код особенно полезен в MU-окружении, когда нужно запрашивать изображения записей из других блогов. Мне очень нравится. Теперь мне осталось только разобраться, как теперь получить миниатюрную версию этого изображения.

uknowit2 uknowit2
14 апр. 2012 г. 14:05:53