/** * Set up widget area global data. * * @ignore */ function _beans_setup_widget_area($id) { global $_beans_widget_area, $wp_registered_sidebars; if (!isset($wp_registered_sidebars[$id])) { return false; } // Add widget area delimiters. This is used to split wp sidebar as well as the widgets title. $wp_registered_sidebars[$id] = array_merge($wp_registered_sidebars[$id], array('before_widget' => '<!--widget-%1$s-->', 'after_widget' => '<!--widget-end-->', 'before_title' => '<!--title-start-->', 'after_title' => '<!--title-end-->')); // Start building widget area global before dynamic_sidebar is called. $_beans_widget_area = $wp_registered_sidebars[$id]; // Buffer sidebar, please make it easier for us wp. $sidebar = beans_render_function('dynamic_sidebar', $id); // Prepare sidebar split. $sidebar = preg_replace('#(<!--widget-([a-z0-9-_]+)-->(.*?)<!--widget-end-->*?)#smU', '<!--split-sidebar-->$1<!--split-sidebar-->', $sidebar); // Split sidebar. $splited_sidebar = explode('<!--split-sidebar-->', $sidebar); // Prepare widgets count. preg_match_all('#<!--widget-end-->#', $sidebar, $counter); // Continue building widget area global with the splited sidebar elements. $_beans_widget_area['widgets_count'] = count($counter[0]); $_beans_widget_area['current_widget'] = 0; // Only add widgets if exists. if (count($splited_sidebar) == 3) { $_beans_widget_area['before_widgets'] = $splited_sidebar[0]; $_beans_widget_area['widgets'] = _beans_setup_widgets($splited_sidebar[1]); $_beans_widget_area['after_widgets'] = $splited_sidebar[2]; } return true; }
/** * Echo comment navigation. * * @since 1.0.0 */ function beans_comment_form() { $output = beans_open_markup('beans_comment_form_wrap', 'div', array('class' => 'uk-form tm-comment-form-wrap')); $output .= beans_render_function('comment_form', array('title_reply' => beans_output('beans_comment_form_title_text', __('Add a Comment', 'tm-beans')))); $output .= beans_close_markup('beans_comment_form_wrap', 'div'); $submit = beans_open_markup('beans_comment_form_submit', 'button', array('class' => 'uk-button uk-button-primary', 'type' => 'submit')); $submit .= beans_output('beans_comment_form_submit_text', __('Post Comment', 'tm-beans')); $submit .= beans_close_markup('beans_comment_form_submit', 'button'); // WordPress, please make it easier for us. echo preg_replace('#<input[^>]+type="submit"[^>]+>#', $submit, $output); }
/** * Echo post meta tags. * * @since 1.0.0 */ function beans_post_meta_tags() { if (!($tags = beans_render_function('do_shortcode', '[beans_post_meta_tags]'))) { return; } beans_open_markup_e('beans_post_meta_tags', 'span', array('class' => 'uk-text-small uk-text-muted uk-clearfix')); echo $tags; beans_close_markup_e('beans_post_meta_tags', 'span'); }
<?php /** * Despite its name, this template echos between the opening HTML markup and the opening primary markup. * * This template must be called using get_header(). * * @package Beans\Structure\Header */ echo beans_output('beans_doctype', '<!DOCTYPE html>'); echo beans_open_markup('beans_html', 'html', str_replace(' ', '&', str_replace('"', '', beans_render_function('language_attributes')))); echo beans_open_markup('beans_head', 'head'); /** * Fires in the head. * * This hook fires in the head HTML section, not in wp_header(). * * @since 1.0.0 */ do_action('beans_head'); // Keep if for plugins. wp_head(); echo beans_close_markup('beans_head', 'head'); echo beans_open_markup('beans_body', 'body', array('class' => implode(' ', get_body_class('uk-form no-js')))); echo beans_open_markup('beans_site', 'div', array('class' => 'tm-site')); echo beans_open_markup('beans_header', 'header', array('class' => 'tm-header uk-block', 'role' => 'banner')); echo beans_open_markup('beans_fixed_wrap[_header]', 'div', 'class=uk-container uk-container-center'); /** * Fires in the header. * * @since 1.0.0