Viewing File: /home/maglabs/exclusive/wp-content/plugins/g5-blog/inc/functions/helper.php
<?php
// Do not allow directly accessing this file.
if (!defined('ABSPATH')) {
exit('Direct script access denied.');
}
function g5blog_post_types_active() {
if (isset($GLOBALS['g5blog_post_types_active'])) {
return $GLOBALS['g5blog_post_types_active'];
}
$out = array();
$all_post_types = get_post_types(array(
'public' => true,
'exclude_from_search' => false,
), 'objects');
foreach ($all_post_types as $pt_name => $pt) {
if ($pt_name === 'attachment') {
continue;
}
$out[$pt_name] = array(
'label' => $pt->label,
'icon' => $pt->menu_icon === NULL ? 'dashicons-admin-post' : $pt->menu_icon,
);
}
$out = apply_filters('g5blog_post_types_active', $out);
$GLOBALS['g5blog_post_types_active'] = $out;
return $out;
}
function g5blog_is_admin_post($screen = null) {
if ( ! ( $screen instanceof WP_Screen ) )
{
$screen = get_current_screen();
}
return 'post' == $screen->base && ($screen->post_type == 'post');
}
function g5blog_truncate_text($text, $length) {
$text = strip_tags($text, '<img />');
$length = abs((int)$length);
if (strlen($text) > $length) {
$text = preg_replace("/^(.{1,$length})(\s.*|$)/s", '\\1...', $text);
}
return $text;
}
function g5blog_single_layout_class($classes) {
if (is_singular('post')) {
$single_post_layout = G5BLOG()->options()->get_option('single_post_layout');
$classes[] = 'g5blog__single-' . $single_post_layout;
if (in_array($single_post_layout,array('layout-1','layout-2','layout-3','layout-4'))) {
$classes[] = 'g5blog__single-featured-align-wide';
}
}
return $classes;
}
add_filter('body_class', 'g5blog_single_layout_class');
function g5blog_vc_map_add_narrow_category($args = array())
{
$category = array();
$categories = get_categories(array('hide_empty' => '1'));
if (is_array($categories)) {
foreach ($categories as $cat) {
$category[$cat->name] = $cat->term_id;
}
}
$default = array(
'type' => 'g5element_selectize',
'heading' => esc_html__('Narrow Category', 'g5-blog'),
'param_name' => 'cat',
'value' => $category,
'multiple' => true,
'description' => esc_html__('Enter categories by names to narrow output.', 'g5-blog'),
'std' => ''
);
$default = array_merge($default, $args);
return $default;
}
function g5blog_vc_map_add_narrow_tag($args = array())
{
$tag = array();
$tags = get_tags(array('hide_empty' => '1'));
if (is_array($tags)) {
foreach ($tags as $tg) {
$tag[$tg->name] = $tg->term_id;
}
}
$default = array(
'type' => 'g5element_selectize',
'heading' => esc_html__('Narrow Tag', 'g5-blog'),
'param_name' => 'tag',
'value' => $tag,
'multiple' => true,
'description' => esc_html__('Enter tags by names to narrow output.', 'g5-blog'),
'std' => ''
);
$default = array_merge($default, $args);
return $default;
}
function g5blog_vc_map_add_filter()
{
return array(
g5blog_vc_map_add_narrow_category(array(
'group' => esc_html__('Posts Filter', 'g5-blog')
)),
g5blog_vc_map_add_narrow_tag(array(
'group' => esc_html__('Posts Filter', 'g5-blog')
)),
array(
'type' => 'autocomplete',
'heading' => esc_html__('Narrow Post', 'g5-blog'),
'param_name' => 'ids',
'settings' => array(
'multiple' => true,
'sortable' => true,
'unique_values' => true,
'display_inline' => true
),
'save_always' => true,
'group' => esc_html__('Posts Filter', 'g5-blog'),
'description' => esc_html__('Enter List of Posts', 'g5-blog'),
),
array(
'type' => 'dropdown',
'heading' => esc_html__('Order by', 'g5-blog'),
'param_name' => 'orderby',
'value' => array(
esc_html__('Date', 'g5-blog') => 'date',
esc_html__('Order by post ID', 'g5-blog') => 'ID',
esc_html__('Author', 'g5-blog') => 'author',
esc_html__('Title', 'g5-blog') => 'title',
esc_html__('Last modified date', 'g5-blog') => 'modified',
esc_html__('Post/page parent ID', 'g5-blog') => 'parent',
esc_html__('Number of comments', 'g5-blog') => 'comment_count',
esc_html__('Menu order/Page Order', 'g5-blog') => 'menu_order',
esc_html__('Meta value', 'g5-blog') => 'meta_value',
esc_html__('Meta value number', 'g5-blog') => 'meta_value_num',
esc_html__('Random order', 'g5-blog') => 'rand',
),
'group' => esc_html__('Posts Filter', 'g5-blog'),
'description' => esc_html__('Select order type. If "Meta value" or "Meta value Number" is chosen then meta key is required.', 'g5-blog')
),
array(
'type' => 'dropdown',
'heading' => esc_html__('Time Filter', 'g5-blog'),
'param_name' => 'time_filter',
'value' => array(
esc_html__('No Filter', 'g5-blog') => 'none',
esc_html__('Today Posts', 'g5-blog') => 'today',
esc_html__('Today + Yesterday Posts', 'g5-blog') => 'yesterday',
esc_html__('This Week Posts', 'g5-blog') => 'week',
esc_html__('This Month Posts', 'g5-blog') => 'month',
esc_html__('This Year Posts', 'g5-blog') => 'year'
),
'group' => esc_html__('Posts Filter', 'g5-blog')
),
array(
'type' => 'g5element_button_set',
'heading' => esc_html__('Sorting', 'g5-blog'),
'param_name' => 'order',
'value' => array(
esc_html__('Descending', 'g5-blog') => 'DESC',
esc_html__('Ascending', 'g5-blog') => 'ASC',
),
'std' => 'DESC',
'group' => esc_html__('Posts Filter', 'g5-blog'),
'description' => esc_html__('Select sorting order.', 'g5-blog'),
),
array(
'type' => 'textfield',
'heading' => esc_html__('Meta key', 'g5-blog'),
'param_name' => 'meta_key',
'description' => esc_html__('Input meta key for grid ordering.', 'g5-blog'),
'group' => esc_html__('Posts Filter', 'g5-blog'),
'dependency' => array(
'element' => 'orderby',
'value' => array('meta_value', 'meta_value_num'),
),
)
);
}
function g5blog_get_slick_config($args = array()) {
if (function_exists('g5core_get_slick_config')) {
return g5core_get_slick_config($args);
}
return array();
}
Back to Directory
File Manager