wordpress添加提示信息 开始时间 结束时间,在时间范围内显示和不显示

比如在文章页面添加该文章的一些提示信息,需要在一个时间段显示,比如2023年6月5号开始-2023年7月5号这个时间段显示,过了这个时间后不显示。比较适合一些活动提示。我用的是Advanced Custom Fields字段插件。方法是建一个文本字段,开始时间字段,结束时间字段。用的重复器字段。

wordpress添加提示信息 开始时间 结束时间,在时间范围内显示和不显示

文章编辑器如下,结束时间必须填,开始时间可以不填,如果不填开始时间就以文章时间发布时间为开始时间。

wordpress添加提示信息 开始时间 结束时间,在时间范围内显示和不显示

代码如下:

<?php
$many_field = get_field('frame_time');
if ($many_field) {
  foreach ($many_field as $field) {
    $field_text = $field['frame_text'];
    $field_start_date = DateTime::createFromFormat('Y-m-d H:i:s', $field['frame_start_date']);
    $field_end_date = DateTime::createFromFormat('Y-m-d H:i:s', $field['frame_end_date']);
    $current_date = new DateTime(null, new DateTimeZone('UTC'));
$current_date_string = current_time( 'mysql' );
$current_date = DateTime::createFromFormat('Y-m-d H:i:s', $current_date_string);

    $post_date = get_the_date('Y-m-d H:i:s');
    $post_date = DateTime::createFromFormat('Y-m-d H:i:s', $post_date);
    
    if (!$field_start_date) {
      $field_start_date = $post_date;
    }

    if ($current_date >= $field_start_date && $current_date <= $field_end_date) {
      echo '<span class="tab tab2">' . esc_html( $field_text ) . '</span>';
    }
  }
}
?>

上面代码中 echo '<span class="tab tab2">' . esc_html( $field_text ) . '</span>';这一行就是调用提示文本信息。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享