<?php
add_action('after_setup_theme', 'blankslate_setup');
function blankslate_setup() {
load_theme_textdomain('blankslate', get_template_directory() . '/languages');
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
add_theme_support('responsive-embeds');
add_theme_support('automatic-feed-links');
add_theme_support('html5', array('search-form', 'navigation-widgets'));
add_theme_support('woocommerce');
global $content_width;
if (!isset($content_width)) {$content_width = 1920;}
register_nav_menus(array('main-menu' => esc_html__('Main Menu', 'blankslate')));
}
add_action('admin_notices', 'blankslate_notice');
function blankslate_notice() {
$user_id = get_current_user_id();
$admin_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http') . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$param = (count($_GET)) ? '&' : '?';
if (!get_user_meta($user_id, 'blankslate_notice_dismissed_7') && current_user_can('manage_options')) {
echo '<div class="notice notice-info"><p><a href="' . esc_url($admin_url), esc_html($param) . 'dismiss" class="alignright" style="text-decoration:none"><big>' . esc_html__('Ⓧ', 'blankslate') . '</big></a>' . wp_kses_post(__('<big><strong>📝 Thank you for using BlankSlate!</strong></big>', 'blankslate')) . '<br /><br /><a href="https://wordpress.org/support/theme/blankslate/reviews/#new-post" class="button-primary" target="_blank">' . esc_html__('Review', 'blankslate') . '</a> <a href="https://github.com/tidythemes/blankslate/issues" class="button-primary" target="_blank">' . esc_html__('Feature Requests & Support', 'blankslate') . '</a> <a href="https://calmestghost.com/donate" class="button-primary" target="_blank">' . esc_html__('Donate', 'blankslate') . '</a></p></div>';
}
}
add_action('admin_init', 'blankslate_notice_dismissed');
function blankslate_notice_dismissed() {
$user_id = get_current_user_id();
if (isset($_GET['dismiss'])) {
add_user_meta($user_id, 'blankslate_notice_dismissed_7', 'true', true);
}
}
add_action('wp_enqueue_scripts', 'blankslate_enqueue');
function blankslate_enqueue() {
wp_enqueue_style('blankslate-style', get_stylesheet_uri());
wp_enqueue_script('jquery');
// Threaded comment reply styles.
if (is_singular() && comments_open()) {
wp_enqueue_script('comment-reply');
}
}
function blankslate_footer() {
?>
<script>
jQuery(document).ready(function($) {
var deviceAgent = navigator.userAgent.toLowerCase();
if (deviceAgent.match(/(iphone|ipod|ipad)/)) {
$("html").addClass("ios");
$("html").addClass("mobile");
}
if (deviceAgent.match(/(Android)/)) {
$("html").addClass("android");
$("html").addClass("mobile");
}
if (navigator.userAgent.search("MSIE") >= 0) {
$("html").addClass("ie");
}
else if (navigator.userAgent.search("Chrome") >= 0) {
$("html").addClass("chrome");
}
else if (navigator.userAgent.search("Firefox") >= 0) {
$("html").addClass("firefox");
}
else if (navigator.userAgent.search("Safari") >= 0 && navigator.userAgent.search("Chrome") < 0) {
$("html").addClass("safari");
}
else if (navigator.userAgent.search("Opera") >= 0) {
$("html").addClass("opera");
}
});
</script>
<?php
}
add_filter('document_title_separator', 'blankslate_document_title_separator');
function blankslate_document_title_separator($sep) {
$sep = esc_html('|');
return $sep;
}
add_filter('the_title', 'blankslate_title');
function blankslate_title($title) {
if ($title == '') {
return esc_html('...');
} else {
return wp_kses_post($title);
}
}
function blankslate_schema_type() {
$schema = 'https://schema.org/';
if (is_single()) {
$type = "Article";
} elseif (is_author()) {
$type = 'ProfilePage';
} elseif (is_search()) {
$type = 'SearchResultsPage';
} else {
$type = 'WebPage';
}
echo 'itemscope itemtype="' . esc_url($schema) . esc_attr($type) . '"';
}
add_filter('nav_menu_link_attributes', 'blankslate_schema_url', 10);
function blankslate_schema_url($atts) {
$atts['itemprop'] = 'url';
return $atts;
}
if (!function_exists('blankslate_wp_body_open')) {
function blankslate_wp_body_open() {
do_action('wp_body_open');
}
}
add_action('wp_body_open', 'blankslate_skip_link', 5);
function blankslate_skip_link() {
echo '<a href="#content" class="skip-link screen-reader-text">' . esc_html__('Skip to the content', 'blankslate') . '</a>';
}
add_filter('the_content_more_link', 'blankslate_read_more_link');
function blankslate_read_more_link() {
if (!is_admin()) {
return ' <a href="' . esc_url(get_permalink()) . '" class="more-link">' . sprintf(__('...%s', 'blankslate'), '<span class="screen-reader-text"> ' . esc_html(get_the_title()) . '</span>') . '</a>';
}
}
add_filter('excerpt_more', 'blankslate_excerpt_read_more_link');
function blankslate_excerpt_read_more_link($more) {
if (!is_admin()) {
global $post;
return ' <a href="' . esc_url(get_permalink($post->ID)) . '" class="more-link">' . sprintf(__('...%s', 'blankslate'), '<span class="screen-reader-text"> ' . esc_html(get_the_title()) . '</span>') . '</a>';
}
}
// == Start
add_filter('big_image_size_threshold', '__return_false');
add_filter('intermediate_image_sizes', 'remove_default_img_sizes', 10, 1);
function remove_default_img_sizes($sizes) {
$targets = ['medium_large', 'large', '1536x1536', '2048x2048', 'woocommerce_thumbnail', 'woocommerce_single', 'woocommerce_gallery_thumbnail', 'shop_catalog', 'shop_single', 'shop_thumbnail'];
foreach ($sizes as $size_index => $size) {
if (in_array($size, $targets)) {
unset($sizes[$size_index]);
}
}
return $sizes;
}
add_action('wp_enqueue_scripts', 'ecademy_enqueue_style');
function ecademy_enqueue_style() {
wp_enqueue_style("custom_css", get_stylesheet_directory_uri() . "/css/custom.css", array(), '1.1.0', 'all');
$script_data_array = array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'file_upload' )
);
wp_enqueue_script('custom_js', get_stylesheet_directory_uri() . '/js/custom.js', array('jquery'), '123', 'all', true);
wp_localize_script( 'custom_js', 'fiuajax', $script_data_array );
}
function wpdocs_selectively_enqueue_admin_script( $hook ) {
wp_enqueue_script('custom_js', get_stylesheet_directory_uri() . '/js/admin.js', array('jquery'), '123', 'all', true);
wp_enqueue_style("custom_css", get_stylesheet_directory_uri() . "/css/admin.css", array(), '1.1.0', 'all');
}
add_action( 'admin_enqueue_scripts', 'wpdocs_selectively_enqueue_admin_script' );
add_action('init', 'reg_post_type');
function reg_post_type() {
register_post_type('court', array(
'labels' => array(
'name' => 'Court',
'singular_name' => 'Court',
),
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => false,
'supports' => array(
'title', 'thumbnail', 'comments', 'author',
),
)
);
};
// ==
function add_gallery_post_type_court($post_type) {
$post_types = array('court');
if (in_array($post_type, $post_types)) {
add_meta_box(
'list_gallery',
'Gallery',
'gallery_post_type_court',
$post_type,
'advanced',
'high'
);
}
}
add_action('add_meta_boxes', 'add_gallery_post_type_court');
function gallery_post_type_court() {
$list_gallery = json_decode(get_post_meta(get_the_ID(), 'list_gallery', true), true);
?>
<table class="wp-list-table widefat striped table-view-list posts at-table-banner">
<tr>
<th>IMAGES</th><th style="width: 50px;">action</th>
</tr>
<?php if (!empty($list_gallery)): ?>
<?php
for ($i = 0; $i < count($list_gallery); $i++) {
$image = wp_get_attachment_image_src($list_gallery[$i]);?>
<tr class="at-row-track">
<td>
<div class="wrap_img">
<a href="#" class="at-upload button">Change image</a>
<div class="preview_img"><img src="<?php echo $image[0]; ?>"></div>
<input class = "at-input" type="hidden" required name="list_gallery[]" value="<?php echo $list_gallery[$i] ?>">
</div>
</td>
<td><span style="position: inherit;display: block;padding: 5px 0;" class="notice-dismiss at-remove-row-group"></span></td>
</tr>
<?php } else : ?>
<tr class="at-row-track">
<td>
<div class="wrap_img">
<a href="#" class="at-upload button">Add image</a>
<div class="preview_img"></div>
<input class = "at-input" type="hidden" required name="list_gallery[]" value="">
</div>
</td>
<td><span style="position: inherit;display: block;padding: 5px 0;" class="notice-dismiss at-remove-row-group"></span></td>
</tr>
<?php endif;?>
</table>
<?php
$row_group = '<tr class="at-row-track"><td><div class="wrap_img"><a href="#" class="at-upload button">Add image</a><div class="preview_img"></div><input class = "at-input" type="hidden" required name="list_gallery[]" value=""></div></td><td><span style="position: inherit;display: block;padding: 5px 0;" class="notice-dismiss at-remove-row-group"></span></td></tr>';
?>
<span style="cursor: pointer;margin-top:10px;" class="button add_row_group">Add image</span>
<script type="text/javascript">
jQuery(document).ready(function($){
$(".add_row_group").click(function(){
$(".at-table-banner tbody").append('<?php echo $row_group ?>');
});
$('body').on('click','.notice-dismiss', function () {
$(this).closest(".at-row-track").remove();
})
})
</script>
<?php
}
function at_save_gallery_court($post_id) {
if (isset($_POST["list_gallery"])) {
update_post_meta($post_id, "list_gallery", json_encode($_POST["list_gallery"]));
}
}
add_action('save_post', 'at_save_gallery_court');
// ==
include_once "framework/define.php";
include_once "framework/lib.php";
include_once "framework/setting.php";
require_once 'framework/framework.php';
global $bj_controller;
$bj_controller = new BJ_Controller();
include_once "framework/ajax/app.php";
include_once "framework/ajax/court.php";