2014-09-10 1 views
0

Мне нужно получить название, описание и вложение из базы данных wordpress без wp_query. Я не могу, как принести оба, вложения и meta_descriptions в то же время ...Wordpress Custom Meta Query без wp-функций (wo. Wp_query())

Это как мой запрос выглядит так далеко

$query="SELECT post_title, meta_value 
FROM wp_posts p JOIN wp_postmeta pm ON p.ID=pm.post_id 
WHERE post_status='publish' 
AND post_type='page' 
AND post_parent=2330 
AND (meta_key='_wpseo_edit_description' OR meta_key='_wp_attached_file') 
ORDER BY post_date DESC"; 

Этот запрос возвращает «удвоилась» результатов я должен раскол внутри цикла

______________________________ 
| post_title | meta_value | 
|------------|---------------| 
| title 1 | 1349   | 
|------------|---------------| 
| title 1 | description 1 | 
|------------|---------------| 
| title 2 | 1348   | 
|------------|---------------| 
| title 2 | description 2 | 
|____________|_______________| 
+0

, пожалуйста, прочитайте [ЭТОТ POST] (http://meta.stackoverflow.com/questions/271055/tips-for-asking-a-good-structured-query-language-sql-question/271056#271056) Я написал о том, как задать правильный вопрос, это поможет вам получить ответ –

ответ

1

Вы wlil нужно зарегистрироваться на wp_postmeta таблицу, чтобы получить какой-либо из прилагаемой информации, такие как файловые вложения или пользовательские поля.

Пример того, как сделать это:

SELECT p.*, pm2.meta_value AS featured_image, pm3.meta_value AS wpseo_edit_description, pm4.meta_value AS wp_attached_file 
FROM `wp_posts` p 
LEFT JOIN `wp_postmeta` pm2 ON p.ID = pm2.post_id AND pm2.meta_key = 'wp_attached_file' 
LEFT JOIN `wp_postmeta` pm3 ON p.ID = pm3.post_id AND pm3.meta_key = '_wpseo_edit_description' 
LEFT JOIN `wp_postmeta` pm4 ON p.ID = pm4.post_id AND pm4.meta_key = '_wp_attached_file' 
WHERE p.post_status = 'publish' 
AND p.post_type = 'page' 
AND p.post_parent = 2330 

Нормальные почтовые поля (запись название, описание, ID и т.д.) будут доступны, наряду с featured_image, wp_attached_file и wpseo_edit_description.

+1

Ого, ваш вопрос сильно изменился с тех пор, как я ответил на него. Я думаю, что мой ответ все еще стоит. – Mike

+0

большое спасибо, это еще ответ – Viktor

+0

пришлось изменить мой вопрос в связи с подсказкой Джона Радделла – Viktor