%PDF- %PDF-
| Direktori : /home/dopla/www/wp-content/themes/dopla2019/library/ |
| Current File : /home/dopla/www/wp-content/themes/dopla2019/library/sidebars.php |
<?php
global $theme_sidebars;
$theme_sidebars = array(
'default' => array(
'name' => __('Primary Widget Area', THEME_NS),
'id' => 'primary-widget-area',
'description' => __("This is the default sidebar, visible on 2 or 3 column layouts. If no widgets are active, the default theme widgets will be displayed instead.", THEME_NS)
),
'secondary' => array(
'name' => __('Secondary Widget Area', THEME_NS),
'id' => 'secondary-widget-area',
'description' => __("This sidebar is active only on a 3 column setup.", THEME_NS)
),
'header' => array(
'name' => __('Header Widget Area', THEME_NS),
'id' => 'header-widget-area',
'description' => __("The header widget area. Use the unique widget ids to control the design and position of individual widgets with CSS code.", THEME_NS)
),
'top' => array(
'name' => __('First Top Widget Area', THEME_NS),
'id' => 'first-top-widget-area',
'description' => __("This sidebar is displayed above the main content.", THEME_NS)
),
'top2' => array(
'name' => __('Second Top Widget Area', THEME_NS),
'id' => 'second-top-widget-area',
'description' => __("This sidebar is displayed above the main content.", THEME_NS)
),
'bottom' => array(
'name' => __('First Bottom Widget Area', THEME_NS),
'id' => 'first-bottom-widget-area',
'description' => __("This sidebar is displayed below the main content.", THEME_NS)
),
'bottom2' => array(
'name' => __('Second Bottom Widget Area', THEME_NS),
'id' => 'second-bottom-widget-area',
'description' => __("This sidebar is displayed below the main content.", THEME_NS)
),
'footer' => array(
'name' => __('First Footer Widget Area', THEME_NS),
'id' => 'first-footer-widget-area',
'description' => __("The first footer widget area. You can add a text widget for custom footer text.", THEME_NS)
),
'footer2' => array(
'name' => __('Second Footer Widget Area', THEME_NS),
'id' => 'second-footer-widget-area',
'description' => __("The second footer widget area.", THEME_NS)
),
'footer3' => array(
'name' => __('Third Footer Widget Area', THEME_NS),
'id' => 'third-footer-widget-area',
'description' => __("The third footer widget area.", THEME_NS)
),
'footer4' => array(
'name' => __('Fourth Footer Widget Area', THEME_NS),
'id' => 'fourth-footer-widget-area',
'description' => __("The fourth footer widget area.", THEME_NS)
),
);
global $theme_widget_args;
$theme_widget_args = array(
'before_widget' => '<widget id="%1$s" name="%1$s" class="widget %2$s">',
'before_title' => '<title>',
'after_title' => '</title>',
'after_widget' => '</widget>'
);
foreach ($theme_sidebars as $sidebar) {
register_sidebar(array_merge($sidebar, $theme_widget_args));
}
function theme_get_dynamic_sidebar_data($name) {
global $theme_widget_args, $theme_sidebars;
theme_ob_start();
$success = dynamic_sidebar($theme_sidebars[$name]['id']);
$content = theme_ob_get_clean();
if (!$success)
return false;
extract($theme_widget_args);
$data = explode($after_widget, $content);
$widgets = array();
$heading = theme_get_option('theme_' . (is_home() ? 'posts' : 'single') . '_widget_title_tag');
for ($i = 0; $i < count($data); $i++) {
$widget = $data[$i];
if (theme_is_empty_html($widget))
continue;
$id = null;
$name = null;
$class = null;
$title = null;
if (preg_match('/<widget(.*?)>/', $widget, $matches)) {
if (preg_match('/id="(.*?)"/', $matches[1], $ids)) {
$id = $ids[1];
}
if (preg_match('/name="(.*?)"/', $matches[1], $names)) {
$name = $names[1];
}
if (preg_match('/class="(.*?)"/', $matches[1], $classes)) {
$class = $classes[1];
}
$widget = preg_replace('/<widget[^>]+>/', '', $widget);
if (preg_match('/<title>(.*)<\/title>/', $widget, $matches)) {
$title = $matches[1];
$widget = preg_replace('/<title>.*?<\/title>/', '', $widget);
}
}
$widgets[] = array(
'id' => $id,
'name' => $name,
'class' => $class,
'title' => $title,
'heading' => $heading,
'content' => $widget
);
}
return $widgets;
}
function theme_print_widgets($widgets, $style) {
if (!is_array($widgets) || count($widgets) < 1)
return false;
foreach($widgets as $widget) {
echo theme_get_widget_meta_option($widget['name'], 'theme_widget_styling');
if ($widget['name']) {
$widget_style = theme_get_widget_style($widget['name'], $style);
theme_wrapper($widget_style, $widget);
} else {
echo $widget['content'];
}
}
return true;
}
function theme_is_displayed_widget($widget) {
$id = $widget['name'];
$show_on = theme_get_widget_meta_option($id, 'theme_widget_show_on');
$page_ids = explode(',', theme_get_widget_meta_option($id, 'theme_widget_page_ids_list'));
$page_ids = array_map('trim', $page_ids);
$page_ids = array_filter($page_ids, 'is_numeric');
$page_ids = array_map('intval', $page_ids);
if('all' != $show_on) {
$selected = (theme_get_widget_meta_option($id, 'theme_widget_front_page') && is_front_page()) ||
(theme_get_widget_meta_option($id, 'theme_widget_single_post') && is_single()) ||
(theme_get_widget_meta_option($id, 'theme_widget_single_page') && is_page()) ||
(theme_get_widget_meta_option($id, 'theme_widget_posts_page') && is_home()) ||
(theme_get_widget_meta_option($id, 'theme_widget_page_ids') && !empty($page_ids) && is_page($page_ids));
if( (!$selected && 'selected' == $show_on) ||
($selected && 'none_selected' == $show_on) ) {
return false;
}
}
return true;
}
function theme_get_sidebar_places($name) {
global $theme_sidebars;
$places = array();
foreach ($theme_sidebars as $key => $sidebar) {
if (strpos($key, $name) !== false) {
$widgets = theme_get_dynamic_sidebar_data($key);
if (is_array($widgets)) {
$widgets = array_filter($widgets, 'theme_is_displayed_widget');
if(count($widgets) > 0) {
$places[$key] = $widgets;
}
}
}
}
return $places;
}
function theme_print_sidebar($name, $places) {
$style = theme_get_option('theme_sidebars_style_' . $name);
$place_count = count($places);
if ($name != 'footer' && $place_count < 2) {
theme_print_widgets(reset($places), $style);
return;
}
?>
<div class="art-content-layout">
<div class="art-content-layout-row">
<?php
foreach ($places as $place) {
?>
<div class="clearfix art-layout-cell art-layout-cell-size<?php echo $place_count; ?>">
<?php if ($name == 'footer'): ?>
<div class="art-center-wrapper">
<div class="art-center-inner">
<?php endif; ?>
<?php
theme_print_widgets($place, $style);
?>
<?php if ($name == 'footer'): ?>
</div>
</div>
<?php endif; ?>
</div>
<?php
}
?>
</div>
</div>
<?php
}