Wordpress自定义元框复选框,在首页上显示文本

时间:2014-02-20 13:55:36

标签: php wordpress checkbox meta-boxes

我在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');

我也想知道我如何检查是否选中了复选框以在首页上显示内容。非常感谢你的时间和任何帮助将不胜感激!

1 个答案:

答案 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()。