PHP WordPress с использованием флажка пост мета

Вероятно, это немного простой вопрос, но я немного растерялся.
По сути, я пытаюсь создать мета-состояние флажка в пользовательском типе записи. Затем я хочу проверить, установлен ли этот флажок, чтобы изменить то, что отображается в моей теме.

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

мой заказ пост-класс:

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")
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]