Метод для возврата сообщений и связанных метаданных в WordPress - PullRequest
0 голосов
/ 08 октября 2019

В WordPress есть метод (get_posts()) для получения информации обо всех сообщениях, но мне нужна функция для получения информации сообщений с ее метаданными из таблицы 'wp_postmeta`. Есть ли в WordPress какая-либо функция для получения массива с постами и метаданными? Спасибо

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Я могу объединить метаданные и данные публикации с помощью этого кода:

$args = array(
    'numberposts'   => -1, // -1 is for all
    'post_type'     => 'location', // or 'post', 'page'
    'orderby'       => 'date', // or 'date', 'rand'
    'order'         => 'ASC', // or 'DESC'

    // http://codex.wordpress.org/Template_Tags/get_posts#Usage
);

$posts = get_posts($args);
foreach ($posts as $post) {
    $result = get_post_meta($post->ID);
    $post->postMeta = $result;
}
0 голосов
/ 08 октября 2019

Вы можете использовать WP_Query для пользовательских запросов

, если вы хотите получить все сообщения с мета, вы можете выполнить этот запрос:

SELECT * FROM `wp_posts` INNER JOIN `wp_postmeta` on `wp_posts`.`ID`  = `wp_postmeta`.`post_id`

, тогда вы можете попробовать это:

function posts_with_meta(){
    global $wpdb;

    $posts_with_meta = $wpdb->get_results( 
        "SELECT *
        FROM $wpdb->posts INNER JOIN $wpdb->postmeta
        on $wpdb->posts.`ID` = $wpdb->postmeta.`post_id`
        "
    );

    return $posts_with_meta;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...