2016-10-22 5 views
2

там у меня есть PostMeta данных я хочу показатьКак отобразить PostMeta ключ и значение в то же WordPress записи (данные JSON)

$command = $_GET['command']; 
switch ($command) { 
    case 'list_product': 

     $loop = new WP_Query( 
       array(
         'post_type' => 'product' 
         // 'showposts' => 4, 
         // 'meta_key'  => '_sale_price', 
         // 'meta_value' => '0', 
         // 'meta_compare' => '>=', 
        ) 
       ); 
if($loop->have_posts()) : 

    $data = array("api_status" => 1, "api_message" => "success"); 
    while ($loop->have_posts()) : $loop->the_post(); 

      $data[] = array("id" => get_the_ID(), 
      "post_name" => get_the_title(), 
      "post_meta" => get_post_meta(get_the_ID()); 

    endwhile; 


    echo json_encode($data); 
break; 
} 

там я хочу показать данные:

enter image description here

где мета-данные имеют одинаковые данные идентификатор сообщения,

Я хочу скопировать данные внутри деталей, попросить кого-нибудь помочь мне или сообщить, какой код мне нужно улучшить, чтобы мой код работал?

+0

Подождите, так что вы просто хотите получить это как JSON? –

+0

уверен, что вы можете мне помочь? –

ответ

5

Метаданные хранятся в wp_postmeta таблица. Используйте json_encode.

Вы можете получить мета по $meta = get_post_meta(get_the_ID());

Пожалуйста, проверьте следующий код.

if($loop->have_posts()) : 

    $data = array("api_status" => 1, "api_message" => "success"); 
    while ($loop->have_posts()) : $loop->the_post(); 

      $data[] = array("id" => get_the_ID(), 
      "post_name" => get_the_title(), 
      "post_meta" => get_post_meta(get_the_ID()); 

    endwhile; 


    echo json_encode($data); 
+0

уверен, я знаю это, но как я могу получить данные как данные JSON? Я имею в виду, как это сделать? внутри внутри детали? –

+0

Я получаю пустой ответ, мог ли проверить мой код, не так ли? я обновляю свой вопрос .. спасибо –

4

Вы можете попробовать это

if($loop->have_posts()) : 

    $data = array("api_status" => 1, "api_message" => "success"); 
    $meta = array(); 
    while ($loop->have_posts()) : $loop->the_post(); 

     $meta[] = array(
      "id"   => get_the_ID(), 
      "post_name" => get_the_title(), 
      "_edit_lock" => get_post_meta(get_the_ID(), '_edit_lock', true), 
      "_edit_last" => get_post_meta(get_the_ID(), '_edit_last', true), 
      "username" => get_post_meta(get_the_ID(), 'username', true), 
      "password" => get_post_meta(get_the_ID(), 'password', true), 
      "email"  => get_post_meta(get_the_ID(), 'email', true), 
      "phone"  => get_post_meta(get_the_ID(), 'phone', true), 
     ); 

    endwhile; 
endif; 

echo json_encode($meta); 
+0

спасибо, может что-то спросить? как я даю параметр (для доступа к этим данным), там извините вне темы, параметр 'id post' –

+0

извините, если я неверно представил, я имею в виду, когда я хочу получить доступ к этим данным, мне нужно сначала ввести идентификатор, –

+0

возьми. Вы спрашиваете, как получить доступ к данным JSON? или показывая пример кода, что вы пытаетесь также помочь. –