Programing

WordPress 데이터베이스에서 게시물 추천 이미지 링크는 어디에 저장됩니까?

lottogame 2020. 11. 23. 07:36
반응형

WordPress 데이터베이스에서 게시물 추천 이미지 링크는 어디에 저장됩니까?


추천 이미지 링크는 WordPress 데이터베이스에 어디에 저장됩니까? wp_postmeta에서 검색 했지만 정확한 post_idlinks.

이 올바른지? 누구든지 어떻게 작동하는지 설명해 주시겠습니까?


특색있는 이미지 ID가 저장됩니다 wp_postmetaA를 meta_key호출 _thumbnail_id. 예:

╔═════════╦═════════╦═══════════════╦═══════════╗
║ meta_id ║ post_id ║ meta_key      ║ meta_value║
╠═════════╬═════════╬═══════════════╬═══════════╣
║ 200     ║ 4       ║ _thumbnail_id ║ 48        ║
╚═════════╩═════════╩═══════════════╩═══════════╝

실제 썸네일 링크는 다음에 포함되어 wp_posts로모그래퍼 post_typeattachment. 예:

╔════╦════════════╦═════════════════════════════════════════════════════╗
║ ID ║ post_type  ║ guid                                                ║
╠════╬════════════╬═════════════════════════════════════════════════════╣
║ 48 ║ attachment ║ http://example.com/wp-content/uploads/yourimage.png ║
╚════╩════════════╩═════════════════════════════════════════════════════╝

궁금해서 여기 간다 ...

  • wp_postmeta표와 게시물에 대한 항목 개최 meta_key의를_thumbnail_id
  • meta_value자식 post_id특색 이미지
  • 그 사용하여 post_id, 당신이 추가 정보에서 얻을 수 있습니다 wp_postswp_postmeta

모든 것을 종합하기 위해 wp_postspost의 추천 이미지에 대한 자식 을 얻는 방법은 다음 과 같습니다 XXX.

SELECT childpost.* 
FROM wp_posts childpost 
INNER JOIN wp_postmeta parentmeta ON (childpost.ID=parentmeta.meta_value)
WHERE parentmeta.meta_key='_thumbnail_id' 
AND parentmeta.post_id=XXX;

그리고 여기 같은 이미지에 대한 메타 데이터가 있습니다.

SELECT childmeta.* 
FROM wp_postmeta childmeta 
INNER JOIN wp_postmeta parentmeta ON (childmeta.post_id=parentmeta.meta_value)
WHERE parentmeta.meta_key='_thumbnail_id' 
AND parentmeta.post_id=XXX;

메타 데이터에는 _wp_attached_file상대 경로와 _wp_attachment_metadata일부 PHP 직렬화 된 데이터가 포함됩니다.


여기에 전체 URL 이미지가있는 내 SQL

SELECT concat((select option_value from wp_options where option_name ='siteurl'  limit 1),'/wp-content/uploads/',childmeta.meta_value)
FROM wp_postmeta childmeta 
INNER JOIN wp_postmeta parentmeta ON (childmeta.post_id=parentmeta.meta_value)
WHERE parentmeta.meta_key='_thumbnail_id' and childmeta.meta_key = '_wp_attached_file'
AND parentmeta.post_id = POST_ID ;

select option_name from wp_options where option_name ='siteurl' 

결과는 다음과 같습니다

http://yourdomain/blog-wp/wp-content/uploads/2015/04/IMG_06062014_155904.png


하더라도 rnevius의 : 대답은 올바른 것 같았다, 결과는 URL의 이런 종류의 일부 이미지를 반환 http://www.example.com/?attachment_id=48 내 경우에는 작동하지 않는.

Wordpress 4.9.3에서 테스트되었습니다.

또 다른 해결책은 _wp_attached_file대신 사용하는 것입니다.

wp_postmeta

값을 검색 _thumbnail_idmeta_key

meta_id   | post_id   | meta_key            | meta_value
200       | 4         | _thumbnail_id       | 48

wp_postmeta

Again in wp_postmeta, search for value _wp_attached_file in meta_key where post_id is matching the meta_value find in previous query

meta_id   | post_id   | meta_key            | meta_value
1020      | 48        | _wp_attached_file   | 2018/09/picture.jpg

Query :

SELECT wp.ID, wpm2.meta_value
FROM wp_posts wp
    INNER JOIN wp_postmeta wpm
        ON (wp.ID = wpm.post_id AND wpm.meta_key = '_thumbnail_id')
    INNER JOIN wp_postmeta wpm2
        ON (wpm.meta_value = wpm2.post_id AND wpm2.meta_key = '_wp_attached_file')

참고URL : https://stackoverflow.com/questions/28643654/where-is-the-post-featured-image-link-stored-in-the-wordpress-database

반응형