我在wordpress中创建了一个视频网站,可以播放视频和直播。实时流式传输已经过时,我试图在"新帖子"中添加一个复选框。用户可以选中该框以显示他们正在首页上直播的警报的部分。
这是我的代码到目前为止,但它并没有保存检查chebox。
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');
我也想知道我如何检查是否选中了复选框以在首页上显示内容。非常感谢你的时间和任何帮助将不胜感激!
答案 0 :(得分:2)
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()。