【问题标题】:Wordpress custom metabox checkbox to display text on front pageWordpress 自定义元框复选框以在首页上显示文本
【发布时间】:2014-02-20 22:01:56
【问题描述】:

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

我还想知道如何检查复选框是否被选中以在首页上显示内容。非常感谢您的宝贵时间,我们将不胜感激!

【问题讨论】:

    标签: php wordpress checkbox meta-boxes


    【解决方案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()。

    【讨论】:

    • 谢谢!您(或其他任何人)是否知道我如何使用复选框在选中时在首页上显示内容。它应该在直播可用时使用。
    • 如果此答案对您有所帮助,请将其标记为您问题的答案。至于你的评论;请将此作为新问题发布。
    猜你喜欢
    • 1970-01-01
    • 2011-04-03
    • 2016-11-12
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多