首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wordpress添加不同的metaboxes而不是保存

Wordpress添加不同的metaboxes而不是保存
EN

Stack Overflow用户
提问于 2018-09-11 17:30:40
回答 1查看 30关注 0票数 0

我想添加许多具有不同输入的元函数。我添加了metabox,并且我想分别调用每个metabox。示例代码:

代码语言:javascript
运行
复制
    add_action('add_meta_boxes', 'dm_meta_box');
    function dm_meta_box() {
        add_meta_box("dm-slides", "Slider", 'dm_slides_box', "dm", "normal");
    }

    function dm_slides_box() {
    global $post;
    $dm_slides = get_post_meta($post->ID, "_dm_slides231211ab", true);
    $dm_slides = ($dm_slides != '') ? json_decode($dm_slides) : array();

    $dm_title = get_post_meta($post->ID, "_dm_slides231211bc", true);
    $dm_title = ($dm_title != '') ? json_decode($dm_title) : array();

    $dm_link = get_post_meta($post->ID, "_dm_slides231211bf", true);
    $dm_link = ($dm_link != '') ? json_decode($dm_link) : array();

    $html = '<input type="hidden" name="dm_slider_box_nonce" value="' . wp_create_nonce(basename(__FILE__)) . '" />';
...
}

保存:

代码语言:javascript
运行
复制
add_action('save_post', 'dm_save_slider_info');
function dm_save_slider_info($post_id) {
   if (!wp_verify_nonce($_POST['dm_slider_box_nonce'], basename(__FILE__))) {
        return $post_id;
    }
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return $post_id;
    }
    if ('dm' == $_POST['post_type'] && current_user_can('edit_post', $post_id)) {
        $dm_slides = (isset($_POST['dm_slider_fields']) ? $_POST['dm_slider_fields'] : '');
        $dm_slides = strip_tags(json_encode($dm_slides));
        update_post_meta($post_id, "_dm_slides231211ab", $dm_slides);  

        $dm_title = (isset($_POST['dm_title']) ? $_POST['dm_title2'] : '');
        $dm_title = strip_tags(json_encode($dm_title));
        update_post_meta($post_id, "_dm_slides231211bc", $dm_title);          

        $dm_link = (isset($_POST['dm_link']) ? $_POST['dm_link2'] : '');
        $dm_link = strip_tags(json_encode($dm_link));
        update_post_meta($post_id, "_dm_slides231211bf", $dm_link);      

    } else {
        return $post_id;
    }
}

我想问题出在save post中,但我试过了,但还是弄不明白。我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-09-11 19:06:56

我想你错过了

代码语言:javascript
运行
复制
  global $post; 

function dm_save_slider_info()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52272883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档