Пользовательский флажок Wordpress для отображения текста на главной странице

Я создаю видео-сайт в WordPress, который будет предлагать видео и прямую трансляцию. Прямая трансляция бывает случайной, и я пытаюсь добавить флажок в разделе "Новая публикация", где пользователь может установить флажок для отображения оповещения о том, что они транслируются в прямом эфире на главной странице.

Пока это мой код, но он не спасает, что чекбокс проверен.

function register_post_assets(){
    add_meta_box('live-tv', __('Live TV'), 'add_featured_meta_box', 'post', 'advanced', 'high');
}

add_action('admin_init', 'register_post_assets', 1);

function add_featured_meta_box($post){
    $featured = get_post_meta($post->ID, 'live-tv', true);
    echo "<label for='live-tv'>".__('Is this a live broadcast post?', 'foobar')."</label>";
    echo "<input type='checkbox' name='live-tv' id='live-tv' value='1' ".checked(1,         $featured)."     />";
}

function save_featured_meta($post_id){
if (isset($_REQUEST['live-tv']))
    update_post_meta(esc_attr($post_id, '_featured-post', esc_attr($_REQUEST['featured-post']))); 
}
add_action('save_post', 'save_featured_meta');

Мне также интересно, как я могу проверить, установлен ли флажок для отображения содержимого на главной странице. Большое спасибо за ваше время, и любая помощь будет оценена!

1 ответ

Решение

У вас есть ошибка в вашей функции save_featured_meta:

Это должно быть так:

function save_featured_meta($post_id)
{
    if (isset($_REQUEST['live-tv']))
        update_post_meta(esc_attr($post_id), '_featured-post', esc_attr($_REQUEST['featured-post']));
}

Вы не закрыли esc_attr() в нужном месте.

Другие вопросы по тегам