我正在用页面, 帖子和事件(可以登录多个日期)构建一个Wordpress网站。我是Wordpress的新手, 所以我一直在寻找理想的解决方案。
我认为最好的解决方案是创建称为”
事件”
的自定义帖子类型, 然后分别进行处理。
但是, 我不确定如何为每个事件添加多个日期。我一直在阅读有关自定义分类法和帖子元数据的信息, 但我经历的每个示例都像创建自定义类别, 标签或为帖子添加单个值。
对于将多个日期(不知道提前多少个)添加到自定义帖子类型中, 你会建议什么?是分类法还是发布元数据?是否存在带有内置日期输入验证或datepicker的date类型的元数据?
【在WordPress中为自定义帖子类型添加多个日期】谢谢!
#1实现此步骤:
- 添加元框
- 添加多选日期选择器
- 保存元价值
- 获取元价值
添加元框和添加多个选择日期选择器添加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))。由于日期以逗号格式保存。
#2WordPress的一种方式可能是将日期存储为自定义帖子类型的元数据中的序列化数组(google:php serialize)。如果你需要搜索日期, 最好将每个日期作为裸元数据(而不是序列化数组)存储在后元数据中。要记住的一件事是, 如果此站点需要l18n(多语言, 支持语言环境)的日期, 可能会比较棘手!查找(WordPress, l18n, 日期)。如果需要进行任何排序, 请考虑将日期存储为unix时间戳。
推荐阅读
- 将元框图像上传选项添加到选项页面
- 从WordPress自定义主题中的标准样式添加Jquery
- WP在图像上添加文本
- 将产品添加到店面主页上的最畅销产品列表中
- 在WordPress网站中添加”加入群组”按钮
- 关于graalvm 的一些官方QA
- java.util.concurrent.locks.LockSupport用法
- npm镜像加速
- Qt-error C3872: “0x3000”: 此字符不允许在标识符中使用