WordPress添加一个时间字段带格式
在WordPress中添加一个带有特定格式的时间字段,你可以使用内置的DateTime
类或者使用WordPress的date
函数。以下是一个简单的例子,展示了如何在WordPress后台添加一个带有格式的时间字段:
/** WordPress添加一个时间字段带格式 **/
// 在functions.php文件中添加以下代码
// 添加一个新的meta box
function add_custom_meta_box() {
add_meta_box('custom_time_meta_box', '自定义时间', 'render_custom_time_meta_box', 'post', 'normal', 'high');
}
add_action('add_meta_boxes', 'add_custom_meta_box');
// 渲染meta box的回调函数
function render_custom_time_meta_box($post) {
// 获取已保存的时间值,如果没有则设置一个默认值
$saved_time = get_post_meta($post->ID, 'custom_time', true) ? get_post_meta($post->ID, 'custom_time', true) : date('H:i');
// 使用WordPress的时间输入字段
?>
<input type="text" name="custom_time" id="custom_time" value="<?php echo esc_attr($saved_time); ?>">
<?php
}
// 保存meta box数据的回调函数
function save_custom_time_meta($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (!current_user_can('edit_post', $post_id)) return;
// 检查非空和正确的时间格式
if (isset($_POST['custom_time']) && $_POST['custom_time']) {
$time = sanitize_text_field($_POST['custom_time']);
if (DateTime::createFromFormat('H:i', $time) !== false) {
update_post_meta($post_id, 'custom_time', $time);
}
}
}
add_action('save_post', 'save_custom_time_meta');
这段代码将会添加一个新的meta box到WordPress的所有post类型中,允许用户输入时间(时:分)格式。保存后,这个时间会以文章的元数据保存起来。
请确保将这段代码添加到你的WordPress主题的functions.php
文件中。如果你正在使用插件来添加自定义字段,那么你需要将相关的代码放入插件文件中。
提示:仅供参考