2014-10-08 4 views
0

Это, вероятно, немного базовый вопрос, но я немного потерян. В принципе, я пытаюсь создать мета-состояние флажка в настраиваемом типе сообщений. Затем я хочу проверить, был ли выбран этот флажок, чтобы изменить то, что отображается в моей теме.PHP wordpress using checkbox post meta

Так вот, что у меня есть:

мой заказ после класса:

function slide_box() { 

    $slide_stored_meta = get_post_meta((int)$_REQUEST['post']); 

?> 

<div> 
<label for="slide-checkbox"> 
<input type="checkbox" name="slide-checkbox" id="slide-checkbox" value="yes" <?php if (isset ($slide_stored_meta['slide-checkbox'])) checked($slide_stored_meta['slide-checkbox'][0], 'yes'); ?> /> 
<?php _e('Display Title and Excerpt?', 'prfx-textdomain')?> 
</label> 
</div> 

<?php 
} 

add_action('save_post','slide_save_meta'); 
function slide_save_meta($postID) { 
    if (is_admin()) { 

    // Checks for input and saves 
    if(isset($_POST[ 'slide-checkbox' ])) { 
      update_post_meta($postID, 'slide-checkbox', 'yes'); 
    } else { 
      update_post_meta($postID, 'slide-checkbox', 'no'); 
    } 

    } 
} 
?> 

кажется, сохранить его в порядке, а когда я обновляю пост он остается проверен на непроверенный правильно.

Следующая моя тема файла шаблона:

<?php $slider = new WP_Query(array('post_type' => 'slide', 'posts_per_page'=>20, 'suppress_filters'=>0)); ?> 

      <?php if ($slider->have_posts()) : while($slider->have_posts()) : $slider->the_post(); ?>  

      **<?php if(get_post_meta($post->ID), 'slide-checkbox', true) { ?>** 

ответ

0

Почему вы используете нулевой индекс? Попробуйте прямое изменение:

checked($slide_stored_meta['slide-checkbox'], "yes") 
Смежные вопросы