forked from LiveCarta/LiveCartaWP
wordpress config + law-/live- carta themes
This commit is contained in:
126
htdocs/wp-content/themes/lawcarta/functions.php
Normal file
126
htdocs/wp-content/themes/lawcarta/functions.php
Normal file
@@ -0,0 +1,126 @@
|
||||
<?php
|
||||
/**
|
||||
* Setup WordPress
|
||||
*/
|
||||
add_action('after_setup_theme', function () {
|
||||
/*
|
||||
* Let WordPress manage the document title.
|
||||
* By adding theme support, we declare that this theme does not use a
|
||||
* hard-coded <title> tag in the document head, and expect WordPress to
|
||||
* provide it for us.
|
||||
*/
|
||||
add_theme_support('title-tag');
|
||||
|
||||
register_nav_menus([
|
||||
'top' => __('Top Menu', 'lawcarta'),
|
||||
'bottom' => __('Bottom Menu', 'lawcarta'),
|
||||
'social' => __( 'Social Links Menu', 'lawcarta' ),
|
||||
]);
|
||||
|
||||
add_editor_style([
|
||||
lawcarta_fonts_url(),
|
||||
'assets/css/style.min.css',
|
||||
'assets/css/newcss.min.css',
|
||||
'assets/css/custom.css',
|
||||
'assets/css/livecarta.css'
|
||||
]);
|
||||
});
|
||||
|
||||
/**
|
||||
* Setup title
|
||||
*/
|
||||
add_filter('document_title_separator', function () {
|
||||
return '|';
|
||||
});
|
||||
|
||||
add_filter('document_title_parts', function ($title) {
|
||||
unset($title['tagline']);
|
||||
return $title;
|
||||
}, 10, 1);
|
||||
|
||||
/**
|
||||
* Enqueue scripts and styles.
|
||||
*/
|
||||
function lawcarta_fonts_url() {
|
||||
$font_families = [
|
||||
'Open Sans:300,400,600,700',
|
||||
'PT Serif:400,700',
|
||||
];
|
||||
$query_args = [
|
||||
'family' => urlencode(implode('|', $font_families)),
|
||||
];
|
||||
$fonts_url = add_query_arg($query_args, 'https://fonts.googleapis.com/css');
|
||||
return esc_url_raw($fonts_url);
|
||||
}
|
||||
|
||||
add_action('wp_enqueue_scripts', function () {
|
||||
wp_enqueue_style('lawcarta-fonts', lawcarta_fonts_url(), array(), null);
|
||||
|
||||
wp_enqueue_script('custom-jquery', '//code.jquery.com/jquery-2.2.4.min.js', [], null, true);
|
||||
|
||||
wp_enqueue_style('bootstrap', '//stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css', ['lawcarta-fonts'], null);
|
||||
wp_enqueue_script('bootstrap', '//stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js', ['custom-jquery'], null, true);
|
||||
|
||||
wp_enqueue_style('jquery-ui', '//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css', ['bootstrap'], null);
|
||||
wp_enqueue_script('jquery-ui', '//code.jquery.com/ui/1.12.1/jquery-ui.min.js', ['custom-jquery'], null, true);
|
||||
|
||||
wp_enqueue_style('lawcarta-external-style', get_theme_file_uri('/assets/css/style.min.css'), ['jquery-ui']);
|
||||
wp_enqueue_style('lawcarta-newcss', get_theme_file_uri('/assets/css/newcss.min.css'), ['lawcarta-external-style']);
|
||||
wp_enqueue_style('lawcarta-custom', get_theme_file_uri('/assets/css/custom.css'), ['lawcarta-newcss']);
|
||||
wp_enqueue_style('lawcarta-style', get_stylesheet_uri(), ['lawcarta-custom']);
|
||||
});
|
||||
|
||||
/**
|
||||
* Filter Menu Item Class
|
||||
*/
|
||||
add_filter('nav_menu_item_args', function ($args, $item) {
|
||||
$classes = get_post_meta($item->ID, '_menu_item_classes', true);
|
||||
if (is_array($classes)) {
|
||||
$classes = array_filter($classes);
|
||||
if (count($classes) > 0) {
|
||||
$args->link_before = '<i class="' . implode(' ', $classes) . '"></i> ';
|
||||
}
|
||||
}
|
||||
return $args;
|
||||
}, 10, 2);
|
||||
|
||||
add_filter('nav_menu_css_class', function ($classes, $item, $args) {
|
||||
$classes = [];
|
||||
if ($args->theme_location === 'bottom' && in_array('current-menu-item', $classes)) {
|
||||
$classes[] = 'active';
|
||||
}
|
||||
return $classes;
|
||||
}, 10, 3);
|
||||
|
||||
/**
|
||||
* Setup Admin Portal
|
||||
*/
|
||||
function lawcarta_company_field_cb() {
|
||||
$setting = get_option('lawcarta_company');
|
||||
$setting = isset( $setting ) ? esc_attr( $setting ) : '';
|
||||
echo '<input type="text" name="lawcarta_company" value="' . $setting . '">';
|
||||
}
|
||||
|
||||
add_action('admin_init', function () {
|
||||
register_setting('general', 'lawcarta_company', [
|
||||
'type' => 'string',
|
||||
]);
|
||||
|
||||
add_settings_field(
|
||||
'lawcarta_company_field',
|
||||
__('Company Name', 'lawcarta'),
|
||||
'lawcarta_company_field_cb',
|
||||
'general'
|
||||
);
|
||||
});
|
||||
|
||||
/**
|
||||
* Setup TinyMCE
|
||||
*/
|
||||
add_filter('tiny_mce_before_init', function ($settings) {
|
||||
$opts = '*[*]';
|
||||
$settings['valid_elements'] = $opts;
|
||||
$settings['extended_valid_elements'] = $opts;
|
||||
$settings['valid_children']="+a[div|p|ul|ol|li|h1|h2|h3|h4|h5|h5|h6]";
|
||||
return $settings;
|
||||
});
|
||||
Reference in New Issue
Block a user