protected function translate_value($timestamp, $format = 'Y/m/d H:i') { if (empty($timestamp)) { return null; } $result = \Cibulka::Theme('Date')->get_time($timestamp, $format); return $result; }
namespace Cibulka\Plugin\Base; $plugin['CSS_Grid'] = function ($show = null) { if ($show === null) { $show = WP_ENV === 'development' ? true : false; } $obj = new HTML\CSS_Grid('debug-grid', 'debug-grid-handle', $show); return $obj; }; $plugin['HTML'] = $plugin->factory(function ($name, array $attrs = array(), $self_close = null, $content = null) { $html = new HTML\HTML($name, $attrs, $self_close, $content); return $html; }); $plugin['_Theme_Image'] = function () { $url_obj = \Cibulka::Base('URL'); try { $theme_config = \Cibulka::Theme('Theme_Config'); $breakpoints = $theme_config['theme']['breakpoints']; $sizes = $theme_config['theme']['img']; } catch (\Exception $e) { throw new \Exception("Theme must define Theme_Config with buildconfig.json content!"); } $obj = new HTML\Srcset($breakpoints, $sizes, $url_obj); return $obj; }; // - NOTE: Intentionally NOT a factory. $plugin['Theme_Image'] = function ($filename, array $sizes, array $attrs = null, array $allowed_sizes = null, $src = null) { $obj = \Cibulka::Base('_Theme_Image'); $obj->set_data($filename, $sizes, $attrs, $allowed_sizes, $src); return $obj; };
}); $dic['Excerpt'] = function ($post_id) { return apply_filters('the_excerpt', get_post_field('post_excerpt', $post_id)); }; $dic['Content'] = function ($post_id) { return apply_filters('the_content', get_post_field('post_content', $post_id)); }; $dic['Reading_Time'] = $dic->factory(function ($post_id) { $content = \Cibulka::Plugin('theme')->Content($post_id); $words = str_word_count(strip_tags($content)); $m = floor($words / 200); $m = 0 == $m ? 1 : $m; return \Cibulka::Plugin('theme')->Time()->say_of($m, 'minute'); }); $dic['Time'] = function () { $class = __NAMESPACE__ . '\\Time\\Time' . ucfirst(\Cibulka::Theme()->Lang()); return new $class(); }; $dic['Relative_Date'] = $dic->factory(function ($time_1, $period = null, $default = 'j.n.', $time_2 = null, $timezone = null, $round_to_midnight = true) use($dic) { $time = $dic->get('Time', 'Cz'); switch ($period) { case 'past': return $time->ago($time_1, $time_2, $default, $timezone, $round_to_midnight); break; case 'future': return $time->after($time_1, $time_2, $default, $timezone, $round_to_midnight); break; default: return $time->ago_or_after($time_1, $time_2, $default, $timezone, $round_to_midnight); break; }