2016-03-19 3 views
0

Я использую WP_Query для получения сообщений из пользовательского типа сообщения, чтобы использовать результат в метабоксе. Все отлично работает с моим запросом. Но после этого запроса я не могу получить другие мета значения из базы данных.

Это моя вспомогательная функция, чтобы получить пользовательское значение поля:

function my_page_get_custom_field($value) { 
    global $post; 

    $custom_field = get_post_meta($post->ID, $value, true); 
    if (!empty($custom_field)) 
     return is_array($custom_field) ? stripslashes_deep($custom_field) : stripslashes(wp_kses_decode_entities($custom_field)); 

    return false; 
} 

Вот мой запрос:

$sliderArgs = array(
    'posts_per_page' => -1, 
    'post_type'   => 'slider', 
); 
$slider = new WP_Query($sliderArgs); 
if ($slider->have_posts()) { 
?> 
    <select name="slider" id="slider"> 
    $selectedSlide = my_page_get_custom_field('slider'); 
    while($slider->have_posts()){ 
     $slider->the_post(); 
     $slideID = get_the_ID(); 
     ?><option value="<?php echo $slideID; ?>" <?php selected($selectedSlide, $slideID, true); ?>><?php the_title(); ?></option><?php 
    } 
    wp_reset_postdata(); ?> 
    </select> 
} 

И это мой другой настраиваемое поле, которое возвращает пустой (есть значение в базе данных и когда я пытаюсь изменить его, он отлично работает, но не отображается в исходном значении в admin):

<input type="text" name="meta_title" id="meta_title" value="<?php echo my_page_get_custom_field('meta_title'); ?>"> 
+0

Я считаю, это ваша проблема: 'posts_per_page' => -1. Можете ли вы попробовать «posts_per_page» => 1 вместо этого? –

+1

@LajosArpad К сожалению, для всех запросов. :) –

ответ