| | |
| | | <?php |
| | | |
| | | use JVBase\base\Site; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; |
| | | } |
| | |
| | | // delete_option($option); |
| | | if (!get_option($option, false)) { |
| | | error_log('Calling do once: '.$option); |
| | | if (get_transient(BASE . $option)) { |
| | | return; |
| | | } |
| | | set_transient(BASE . $option, true, 120); |
| | | $callback(); |
| | | update_option($option, true); |
| | | } |
| | |
| | | // delete_option(BASE.'do_these_once'); |
| | | //Ensure we have the option starting with BASE |
| | | $option = jvbCheckBase($option); |
| | | // delete_option($option); |
| | | // delete_option(BASE.'do_these_once'); |
| | | $options = get_option(BASE.'do_these_once', []); |
| | | // delete_option($option); |
| | | if (!array_key_exists($option, $options)) { |
| | | if (!array_key_exists($option, $options)) {// Prevent concurrent runs |
| | | $options[$option] = $callback; |
| | | update_option(BASE.'do_these_once', $options); |
| | | } |
| | |
| | | 'message' => is_null($msg) ? ($success ? 'Completed successfully' : 'Something went wrong') : $msg |
| | | ]; |
| | | } |
| | | |
| | | function jvbTimelinePoints(int $ID, string $type, array $status = ['publish']):array |
| | | { |
| | | $type = jvbCheckBase($type); |
| | | return get_children([ |
| | | 'post_parent' => $ID, |
| | | 'orderby' => 'date', |
| | | 'order' => 'ASC', |
| | | 'posts_per_page'=> -1, |
| | | 'post_status' => $status, |
| | | 'fields' => 'ids', |
| | | 'post_type' => $type |
| | | ]); |
| | | } |
| | | |