Пользовательский флажок 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() в нужном месте.