个性化阅读
专注于IT技术分析

在WordPress中为自定义帖子类型添加多个日期

我正在用页面, 帖子和事件(可以登录多个日期)构建一个Wordpress网站。我是Wordpress的新手, 所以我一直在寻找理想的解决方案。

我认为最好的解决方案是创建称为”事件”的自定义帖子类型, 然后分别进行处理。

但是, 我不确定如何为每个事件添加多个日期。我一直在阅读有关自定义分类法和帖子元数据的信息, 但我经历的每个示例都像创建自定义类别, 标签或为帖子添加单个值。

对于将多个日期(不知道提前多少个)添加到自定义帖子类型中, 你会建议什么?是分类法还是发布元数据?是否存在带有内置日期输入验证或datepicker的date类型的元数据?

谢谢!


#1


实现此步骤:

  1. 添加元框
  2. 添加多选日期选择器
  3. 保存元价值
  4. 获取元价值

现在, 详细

添加元框和添加多个选择日期选择器

添加Meta Box并设置Multi选择HTML中的Datepicker。使用jQuery日期选择器进行多重选择, 然后取消选择以添加多重选择日期选择器。

function myplugin_add_meta_box() {

    add_meta_box(
        'event-date', 'Set Event Dates', 'myplugin_meta_box_callback', 'event'
    );
}
function myplugin_meta_box_callback(){
    // Set HTML here which you want to see under this meta box.
    // Refer https://stackoverflow.com/questions/17651766/jquery-date-picker-multi-select-and-unselect
    // for multiselect datebox.
   echo '<input type="date" id="datePick" name=save-dates/>';
}
add_action( 'add_meta_boxes', 'myplugin_add_meta_box' );

保存元价值

function myplugin_save_postdata($post_id){
    if ( 'event' == $_POST['post_type'] ) {
        update_post_meta($post_id, 'save-dates', sanitize_text_field( $_REQUEST['save-dates'] ));
    }
}
add_action( 'save_post', 'myplugin_save_postdata' );

获取元价值

现在, 无论你要显示这些日期。只需从数据库中检索它们并开始使用它们。 get_post_meta($ post_id, ‘保存日期’, true);

使用它们之前, 请不要忘记爆炸(‘, ‘, get_post_meta($ post_id, ‘save-dates’, true))。由于日期以逗号格式保存。


#2


WordPress的一种方式可能是将日期存储为自定义帖子类型的元数据中的序列化数组(google:php serialize)。如果你需要搜索日期, 最好将每个日期作为裸元数据(而不是序列化数组)存储在后元数据中。要记住的一件事是, 如果此站点需要l18n(多语言, 支持语言环境)的日期, 可能会比较棘手!查找(WordPress, l18n, 日期)。如果需要进行任何排序, 请考虑将日期存储为unix时间戳。

赞(0)
未经允许不得转载:srcmini » 在WordPress中为自定义帖子类型添加多个日期

评论 抢沙发

评论前必须登录!