if ($respect_expiration) { $args['meta_query'] = $this->ExpirationDate->get_meta_query(); } $banners_query = new WP_Query( $args ); $banner = !empty($banners_query->posts) ? $banners_query->posts[0] : false; return $banner; } function get_banners_by_atts($atts) { $args = array( 'posts_per_page' => $atts['count'], 'orderby' => 'rand', 'post_type'=> 'banner', 'banner_groups' => $atts['group'], 'nopaging' => ($atts['count'] == '-1'), // turn paging off posts_per_page is unlimited 'meta_query' => $this->ExpirationDate->get_meta_query() ); $banners_query = new WP_Query( $args ); $banners = !empty($banners_query->posts) ? $banners_query->posts : array(); return $banners; } function buildBannerHTML($banner, $banner_id, $atts) { if($banner_id == ''){ $banner_id = $banner->ID; } $post_thumbnail_id = get_post_thumbnail_id( $banner_id ); $cta = $this->get_option_value($banner_id, 'cta_text', ''); $target_url = $this->get_option_value($banner_id, 'target_url', '#'); $css_class = $this->get_option_value($banner_id, 'css_class', ''); $use_big_link = isset($atts['link_entire_banner']) ? $atts['link_entire_banner'] : get_option('custom_banners_use_big_link'); $open_in_window = isset($atts['open_link_in_new_window']) ? $atts['open_link_in_new_window'] : get_option('custom_banners_open_link_in_new_window'); $show_captions = isset($atts['show_caption']) ? $atts['show_caption'] : !get_option('custom_banners_never_show_captions', 0); $show_cta_buttons = isset($atts['show_cta_button']) ? ($atts['show_cta_button'] == 1) : !get_option('custom_banners_never_show_cta_buttons', 0); $width = isset($atts['width']) ? $atts['width'] : 'auto'; $height = isset($atts['height']) ? $atts['height'] : 'auto'; $banner_width = isset($atts['banner_width']) ? $atts['banner_width'] : 'auto'; $banner_width_px = !empty($atts['banner_width_px']) && intval($atts['banner_width_px']) > 0 ? intval($atts['banner_width_px']) : ''; $banner_height = isset($atts['banner_height']) ? $atts['banner_height'] : 'auto'; $banner_height_px = !empty($atts['banner_height_px']) && intval($atts['banner_height_px']) > 0 ? intval($atts['banner_height_px']) : ''; $theme = isset($atts['theme']) ? $atts['theme'] : get_option('custom_banners_theme'); $legacy_cta_position = ($theme == 'default_style') ? true : false;//if using the original ("default") theme, order the HTML according to the old style. Otherwise, new style. $slideshow = isset($atts['slideshow']) ? $atts['slideshow'] : false; // filters $target_url = apply_filters('custom_banners_target_url', $target_url, $banner_id); $css_class = apply_filters('custom_banners_banner_class', $css_class, $banner_id); // TODO: add filters for the other attributes // if no CTA is present but a target URL is, then link the entire banner if ( empty($cta) && !empty($target_url) ) { $use_big_link = true; } // placeholder variables $html = ''; $img_html = ''; $banner_style = ''; // add any extra CSS classes to the banner $extra_classes = array($css_class, 'banner-' . $banner_id); if (strlen($cta) > 0) { $extra_classes[] = 'has_cta'; if($legacy_cta_position){ $extra_classes[] = 'legacy_cta_position'; } } if ($atts['caption_position'] == 'left') { $extra_classes[] = 'left'; $extra_classes[] = 'horiz'; } else if ($atts['caption_position'] == 'right') { $extra_classes[] = 'right'; $extra_classes[] = 'horiz'; } else if ($atts['caption_position'] == 'top') { $extra_classes[] = 'top'; $extra_classes[] = 'vert'; } else if ($atts['caption_position'] == 'bottom') { $extra_classes[] = 'bottom'; $extra_classes[] = 'vert'; } //get theme name and theme basename //add both via extra classes $spot = strpos($theme, '-'); if ($spot !== FALSE) { $theme_basename = substr($theme, 0, $spot); $extra_classes[] = sprintf('custom-banners-theme-%s', $theme_basename); } $extra_classes[] = sprintf('custom-banners-theme-%s', $theme); $extra_classes_str = implode(' ', $extra_classes); // we can use either a background image on the banner div, or an tag inside the banner div instead $option_use_image_tag = isset($atts['use_image_tag']) ? $atts['use_image_tag'] : false; // we must force image tags on slideshows, however, or cycle2 wont work in our current configuration if ( !empty($atts['slideshow']) ) { $option_use_image_tag = true; } // load the featured image, of one was specified if ($post_thumbnail_id !== '' && $post_thumbnail_id > 0) { if (!$option_use_image_tag) { $img_src = wp_get_attachment_image_src($post_thumbnail_id, 'full'); $banner_style = "background-image: url('" . $img_src[0] . "');"; $img_html = ''; } else { $img_style = ''; $frame_style = ''; $img_meta = wp_get_attachment_metadata($post_thumbnail_id, 'full'); if ($banner_width == 'specify') { $img_style .= sprintf('width: %spx;', $banner_width_px); } else if ( is_numeric($width) ) { $img_style .= sprintf( 'width: %spx;', $width ); $frame_style .= sprintf( 'width: %spx;', $width ); } else if ( $width == '100_percent' ) { $img_style .= 'width: 100%;'; $frame_style .= 'width: 100%;'; } if ($banner_height == 'specify') { $img_style .= sprintf('height: %spx;', $banner_height_px); } else if ( is_numeric($height) ) { $frame_style .= sprintf( 'height: %spx;', $height ); $img_style .= sprintf( 'height: %spx;', $height ); } if (strlen($img_style) > 0) { $img_atts = array('style' => $img_style); } else { $img_atts = array(); } if ($banner_width == 'specify' && $banner_height == 'specify') { $size = array($banner_width_px, $banner_height_px); } else { $size = 'fullsize'; } // add frame if slideshow $img_html = ''; if ($slideshow && $atts['auto_height']) { $img_html .= sprintf(''; } } } if($atts['hide']){ $banner_display = 'style="display:none; %s"'; } else { $banner_display = 'style="%s"'; } $banner_wrapper_style = sprintf($banner_display, $this->build_banner_wrapper_css($atts)); if($open_in_window){ $link_target = ' target="_blank" '; } else { $link_target = ''; } $banner_style .= $this->build_banner_css($atts); // generate the html now $html .= ''; // // apply a filter to the completed banner HTML $banner_html = apply_filters('custom_banners_banner_html', $html, $banner_id, $atts); // allow the user to inject before and after HTML via filters $before_banner = apply_filters('custom_banners_before_banner', '', $banner_id, $atts); $after_banner = apply_filters('custom_banners_after_banner', '', $banner_id, $atts); // add it all together and return return $before_banner . $banner_html . $after_banner; } function get_banner_caption_html($banner_id, $target_url, $link_target, $cta) { $style_str = apply_filters('custom_banners_cta_button_style', '', $banner_id); return sprintf( '', $target_url, $link_target, $style_str, htmlspecialchars($cta) ); } function add_stylesheets_and_scripts() { $cssUrl = plugins_url( 'assets/css/wp-banners.css' , __FILE__ ); $this->add_stylesheet('wp-banners-css', $cssUrl); //theme stylesheets to admin for theme preview section $this->add_admin_stylesheet('wp-banners-css', $cssUrl); //need to include cycle2 this way, for compatibility with our other plugins $jsUrl = plugins_url( 'assets/js/jquery.cycle2.min.js' , __FILE__ ); $this->add_script('gp_cycle2', $jsUrl, array( 'jquery' ), false, true); //enqueue it again, on the admin side, for use in the theme preview tool $this->add_admin_script('gp_cycle2', $jsUrl, array( 'jquery' ), false, true); $cb_js_url = plugins_url( 'assets/js/custom-banners.js' , __FILE__ ); $this->add_script('custom-banners-js', $cb_js_url, array( 'jquery' ), false, true); } //this is the heading of the new column we're adding to the banner posts list function custom_banners_column_head($defaults) { $defaults = array_slice($defaults, 0, 1, true) + array("cbp_banner_preview" => "Thumbnail") + array_slice($defaults, 1, 1, true) + array("single_shortcode" => "Shortcode") + array_slice($defaults, 2, count($defaults)-2, true); return apply_filters('custom_banners_admin_columns_head', $defaults); } //this content is displayed in the banner post list function custom_banners_columns_content($column_name, $post_ID) { if ($column_name == 'cbp_banner_preview') { $thumb_html = get_the_post_thumbnail( $post_ID, 'post-thumbnail', array('style' => 'max-width: 100px; height: auto') ); printf( '%s', get_edit_post_link($post_ID), $thumb_html ); } else if ($column_name == 'single_shortcode') { $banner_shortcode = get_option("custom_banners_banner_shortcode", 'banner'); $my_shortcode = sprintf('[%s id="%d"]', $banner_shortcode, $post_ID); printf('', $my_shortcode); } do_action('custom_banners_admin_columns_content', $column_name, $post_ID); } //this is the heading of the new column we're adding to the banner category list function custom_banners_cat_column_head($defaults) { $defaults = array_slice($defaults, 0, 2, true) + array("single_shortcode" => "Shortcode") + array_slice($defaults, 2, count($defaults)-2, true); return $defaults; } //this content is displayed in the banner category list function custom_banners_cat_columns_content($value, $column_name, $tax_id) { $category = get_term_by('id', $tax_id, 'banner_groups'); return "[banner group='{$category->slug}']"; } //register any widgets here function custom_banners_register_widgets() { include('lib/widgets/single_banner_widget.php'); include('lib/widgets/rotating_banner_widget.php'); include('lib/widgets/banner_list_widget.php'); register_widget( 'singleBannerWidget' ); register_widget( 'rotatingBannerWidget' ); register_widget( 'bannerListWidget' ); } //add an inline link to the settings page, before the "deactivate" link function add_settings_link_to_plugin_action_links($links) { $settings_link = 'Settings'; array_unshift($links, $settings_link); return $links; } // add inline links to our plugin's description area on the Plugins page function add_custom_links_to_plugin_description($links, $file) { /** Get the plugin file name for reference */ $plugin_file = plugin_basename( __FILE__ ); /** Check if $plugin_file matches the passed $file name */ if ( $file == $plugin_file ) { $new_links['settings_link'] = 'Settings'; $new_links['support_link'] = 'Get Support'; if(!$this->is_pro){ $new_links['upgrade_to_pro'] = 'Upgrade to Pro'; } $links = array_merge( $links, $new_links); } return $links; } /* Displays a meta box with the shortcodes to display the current banner */ function display_shortcodes_meta_box() { global $post; echo "Copy & Paste this shortcode into any post or page to display this banner:
"; $banner_shortcode = get_option("custom_banners_banner_shortcode", 'banner'); $my_shortcode = sprintf('[%s id="%d"]', $banner_shortcode, $post->ID); printf('', $my_shortcode); } function add_meta_boxes(){ add_meta_box( 'banner_shortcodes', 'Shortcodes', array($this, 'display_shortcodes_meta_box'), 'banner', 'side', 'default' ); } /* * Builds a CSS string for the banner wrapper. Primarily controls height and width * * @param $atts Attributes from the shortcode * * @returns string The completed CSS string, with the values inlined */ function build_banner_css($atts) { $option_use_image_tag = isset($atts['use_image_tag']) ? $atts['use_image_tag'] : false; $defaults = array( 'width' => get_option('custom_banners_default_width', ''), 'height' => get_option('custom_banners_default_height', ''), 'banner_width' => 'auto', 'banner_width_px' => '', 'banner_height' => 'auto', 'banner_height_px' => '', ); $atts = array_merge($defaults, $atts); $banner_width = isset($atts['banner_width']) ? $atts['banner_width'] : 'auto'; $banner_width_px = !empty($atts['banner_width_px']) && intval($atts['banner_width_px']) > 0 ? intval($atts['banner_width_px']) : ''; $banner_height = isset($atts['banner_height']) ? $atts['banner_height'] : 'auto'; $banner_height_px = !empty($atts['banner_height_px']) && intval($atts['banner_height_px']) > 0 ? intval($atts['banner_height_px']) : ''; $slideshow = isset($atts['slideshow']) ? $atts['slideshow'] : false; if ( $slideshow ) { $banner_width = 'auto'; $banner_width_px = ''; $banner_height = 'auto'; $banner_height_px = ''; $atts['width'] = ''; $atts['height'] = ''; } if ($banner_width == 'specify') { $atts['width'] = $banner_width_px; } if ($banner_height == 'specify') { $atts['height'] = $banner_height_px; } $css_rule_template = ' %s: %s;'; $output = ''; /* * Width */ $option_val = $atts['width']; if (!empty($option_val) || $banner_width == '100_percent' || $banner_width == 'auto') { if ($banner_width == 'auto' && $option_use_image_tag) { $option_val = 'auto'; $output .= sprintf($css_rule_template, 'width', $option_val); } else if ($banner_width == '100_percent') { $option_val = '100%'; $output .= sprintf($css_rule_template, 'width', $option_val); } else if ( is_numeric($option_val) ) { $option_val .= 'px'; $output .= sprintf($css_rule_template, 'width', $option_val); } } /* * Height */ $option_val = $atts['height']; if (!empty($option_val) || $banner_height == 'auto') { if ($banner_height == 'auto' && $option_use_image_tag) { $option_val = 'auto'; $output .= sprintf($css_rule_template, 'height', $option_val); } else if ( is_numeric($option_val)&& !$option_use_image_tag ) { $option_val .= 'px'; $output .= sprintf($css_rule_template, 'height', $option_val); } } // return the completed CSS string return trim($output); } /* * Builds a CSS string for the slideshow wrapper. Primarily controls height and width * * @param $atts Attributes from the shortcode * * @returns string The completed CSS string, with the values inlined */ function build_slideshow_wrapper_css($atts) { $option_use_image_tag = isset($atts['use_image_tag']) ? $atts['use_image_tag'] : false; $defaults = array( 'width' => get_option('custom_banners_default_width', ''), 'height' => get_option('custom_banners_default_height', ''), 'banner_width' => 'auto', 'banner_width_px' => '', 'banner_height' => 'auto', 'banner_height_px' => '', ); $atts = array_merge($defaults, $atts); $width = isset($atts['width']) ? $atts['width'] : 'auto'; $height = isset($atts['height']) ? $atts['height'] : 'auto'; $banner_width = isset($atts['banner_width']) ? $atts['banner_width'] : 'auto'; $banner_width_px = !empty($atts['banner_width_px']) && intval($atts['banner_width_px']) > 0 ? intval($atts['banner_width_px']) : ''; $banner_height = isset($atts['banner_height']) ? $atts['banner_height'] : 'auto'; $banner_height_px = !empty($atts['banner_height_px']) && intval($atts['banner_height_px']) > 0 ? intval($atts['banner_height_px']) : ''; $slideshow = true; if ($banner_width == 'specify') { $atts['width'] = $banner_width_px; } else if ( is_numeric($width) ) { $atts['width'] = $width; } else if ( $width == '100_percent' ) { $atts['width'] = '100%'; } if ($banner_height == 'specify') { $atts['height'] = $banner_height_px; } else if ( is_numeric($height) ) { $atts['height'] = $height; } $css_rule_template = ' %s: %s;'; $output = ''; /* * Width */ $option_val = $atts['width']; if (!empty($option_val) || $banner_width == '100_percent' || $banner_width == 'auto') { if ($banner_width == 'auto' && $option_use_image_tag) { $option_val = 'auto'; $output .= sprintf($css_rule_template, 'width', $option_val); } else if ($banner_width == '100_percent') { $option_val = '100%'; $output .= sprintf($css_rule_template, 'width', $option_val); } else if ( is_numeric($option_val) ) { $option_val .= 'px'; $output .= sprintf($css_rule_template, 'width', $option_val); } } /* * Height */ $option_val = $atts['height']; if (!empty($option_val) || $banner_height == 'auto') { if ($banner_height == 'auto' && $option_use_image_tag) { $option_val = 'auto'; $output .= sprintf($css_rule_template, 'height', $option_val); } else if ( is_numeric($option_val) ) { $option_val .= 'px'; $output .= sprintf($css_rule_template, 'height', $option_val); } } // return the completed CSS string return trim($output); } /* * Builds a CSS string for the banner itself. Primarily controls height and width * * @param $atts Attributes from the shortcode * * @returns string The completed CSS string, with the values inlined */ function build_banner_wrapper_css($atts) { $defaults = array( 'width' => get_option('custom_banners_default_width', ''), 'height' => get_option('custom_banners_default_height', ''), 'banner_width' => '', 'banner_width_px' => '', 'banner_height' => '', 'banner_height_px' => '', ); $atts = shortcode_atts($defaults, $atts); $banner_width = isset($atts['banner_width']) ? $atts['banner_width'] : ''; $banner_width_px = !empty($atts['banner_width_px']) && intval($atts['banner_width_px']) > 0 ? intval($atts['banner_width_px']) : ''; $banner_height = isset($atts['banner_height']) ? $atts['banner_height'] : ''; $banner_height_px = !empty($atts['banner_height_px']) && intval($atts['banner_height_px']) > 0 ? intval($atts['banner_height_px']) : ''; if ($banner_width == 'specify') { $atts['width'] = $banner_width_px; } if ($banner_height == 'specify') { $atts['height'] = $banner_height_px; } $css_rule_template = ' %s: %s;'; $output = ''; /* * Width */ if ($banner_width != 'auto') { $option_val = $atts['width']; if (!empty($option_val) || $banner_width == '100_percent') { if ($banner_width == '100_percent') { $option_val = '100%'; $output .= sprintf($css_rule_template, 'width', $option_val); } else if ( is_numeric($option_val) ) { $option_val .= 'px'; $output .= sprintf($css_rule_template, 'width', $option_val); } } } /* * Height */ if ($banner_height != 'auto') // TODO: maybe disable this altogether { $option_val = $atts['height']; if (!empty($option_val)) { if ( is_numeric($option_val) ) { $option_val .= 'px'; $output .= sprintf($css_rule_template, 'height', $option_val); } } } // return the completed CSS string return trim($output); } /* * Builds a CSS string for the banner's caption * * @param $atts Attributes from the shortcode * * @returns string The completed CSS string, with the values inlined */ function build_caption_css($atts = array()) { $css_rule_template = ' %s: %s;'; $output = ''; /* * Background Color + Opacity */ $color_val = get_option('custom_banners_caption_background_color', ''); $opacity_val = get_option('custom_banners_caption_background_opacity', ''); if (!empty($color_val)) { // convert the hex string into an "rgba()" string $opacity = !empty($opacity_val) ? ($opacity_val / 100) : 1; $rgba = $this->hex2rgba($color_val, $opacity); $output .= sprintf($css_rule_template, 'background-color', $rgba); } /* * Background Opacity */ if (!empty($option_val)) { $output .= sprintf($css_rule_template, 'opacity', $option_val); } /* * Remove Background image if Background Color / Opacity was specified */ if (!empty($output)) { $output .= sprintf($css_rule_template, 'background-image', 'none'); } // return the completed CSS string return trim($output); } function hex2rgba($color, $opacity = false) { $default = 'rgb(0,0,0)'; //Return default if no color provided if(empty($color)) { return $default; } //Sanitize $color if "#" is provided if ($color[0] == '#' ) { $color = substr( $color, 1 ); } //Check if color has 6 or 3 characters and get values if (strlen($color) == 6) { $hex = array( $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] ); } elseif ( strlen( $color ) == 3 ) { $hex = array( $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] ); } else { return $default; } //Convert hexadec to rgb $rgb = array_map('hexdec', $hex); //Check if opacity is set(rgba or rgb) if($opacity){ if(abs($opacity) > 1) $opacity = 1.0; $output = 'rgba('.implode(",",$rgb).','.$opacity.')'; } else { $output = 'rgb('.implode(",",$rgb).')'; } //Return rgb(a) color string return $output; } function add_settings_link() { do_action('custom_banners_before_add_settings_link'); $hook_suffix = add_submenu_page( 'edit.php?post_type=banner', 'Settings', 'Settings', 'administrator', 'custom-banners-settings-redirect', array($this, 'settings_link_redirect') ); add_action("load-$hook_suffix", array($this, 'settings_link_redirect')); do_action('custom_banners_after_add_settings_link'); } function settings_link_redirect() { $settings_page_url = admin_url('admin.php?page=custom-banners-settings'); wp_redirect($settings_page_url); exit(); } function add_extra_classes_to_admin_menu() { global $menu; if ( !empty($menu) ) { foreach( $menu as $key => $value ) { if( 'Custom Banners Settings' == $value[0] ) { $extra_classes = 'custom_banners_admin_menu'; $extra_classes .= $this->is_pro ? ' custom_banners_pro_admin_menu' : ' custom_banners_free_admin_menu'; $menu[$key][4] .= ' ' . $extra_classes; } } } } } $ebp = new CustomBannersPlugin(); // Initialize any addons now do_action('custom_banners_bootstrap'); Eteriniai aliejai darže ir sode – jie padeda kovoti su kenkėjais ir ligomis - Asėja

Eteriniai aliejai darže ir sode – jie padeda kovoti su kenkėjais ir ligomis

Tikriausiai dauguma žino eterinių aliejų naudą žmogaus sveikatai, tačiau ar girdėjote ką nors apie eterinių aliejų naudą daržui ar sodui? Eterinių aliejų preparatais galima atbaidyti skruzdes, amarus, apsigini nuo ligų nekenkiant augalams, naudingiesiems organizmams ir visai ekosistemai.

Litrui tirpalo reikės:

  • 1 l vandens (tinkamiausias lietaus vanduo)
  • 5 lašai ekologiško indų ploviklio
  • Apie 20 lašų eterinio aliejaus
  • 1 a. š. smulkaus molio (jis užtikrina geresnį tirpalo sukibimą su augalu)
  • Tinkamas purkštukas, kuris nebūtų per daug plonas (kad purškimo metu nebūtų sulaikomos molio dalelės ir neužsikištų purkštukas).

Gaminimo eiga: eterinį aliejų sumaišykite su indų plovikliu ir smulkiuoju moliu. Mišinį ištirpinkite vandenyje. Supilkite į purkštuką ir jį energingai pakratykite. Būkite atsargūs – nors eteriniai aliejai yra daug kartų praskiesti, venkite purkštuko turinį purkšti ant odos, akių.

Plačiau apžvelgsime, kokius eterinius aliejus naudoti konkrečiose situacijose. Dauguma eterinių aliejų atbaido vabzdžius kenkėjus. Arbatmedžio aromato labai nemėgsta miltuotieji skydamariai. Levandų eterinis aliejus atbaido kenkėjus su čiulpiamuoju burnos aparatu (pvz., amarus, vikšrus). Stipriam česnakų kvapui nepakantūs dauguma daržo ir sodo kenkėjų, taip pat šį eterinį aliejų rinkitės augalui susirgus grybinėmis ligomis. Kvapniosios pelargonijos aromatas gerai veikia norint atsikratyti amarų. Su medieną graužiančius vabzdžiais patariama kovoti pasitelkiant Kvapiųjų pipirų eterinį aliejų. Išbandžiusieji tikina, kad veiksmingiausias toks tirpalas būna tuomet, kai švirkštu suleidžiamas į medienos pažeistas vietas. Rozmarinų eterinis aliejus atbaido erkutes. Snapučių kvapo nemėgsta sraigės. Pankolių eterinio aliejaus tirpalas apsaugos bulves nuo kolorado vabalų ir jų lervų.

Be daugumos kenkėjų, augalai serga įvairiomis ligomis. Česnakų tirpalas pagelbės užpuolus miltligei. Raudonėlių preparatas naudingas įsimetus suodinajam pelėsiui, miltgrybiams. Bitkrėslių eterinio aliejaus tirpalas kovoja su rūdžių grybiniais susirgimais. Rudajam pomidorų puviniui įveikti pasitelkite preparatą su čiobrelių eteriniu aliejumi.

Siekiant išvengti augalų audinių nudegimų, patartina purkšti vėlyvą popietę ar vakare. Užuot naudoję eterinį aliejų, taip pat galite gaminti vandeninius ekstraktus iš minėtų augalų ir jais gydyti ar profilaktiškai purkšti/ laistyti savo puoselėjamus daržo ir sodo augalus.

 

Ugnė D.

Atgal