cmt-engineering-theme/functions.php

110 lines
2.7 KiB
PHP

<?php
function cmt_styles() {
wp_register_style( 'custom-styles', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'custom-styles' );
}
add_action('wp_enqueue_scripts', 'cmt_styles');
function cmt_block_styles() {
add_theme_support( 'editor-styles' );
add_theme_support( 'wp-block-styles' );
add_editor_style( 'styles.css' );
}
add_action( 'after_setup_theme', 'cmt_block_styles' );
function cmt_pattern_categories() {
register_block_pattern_category(
'cmt',
array( 'label' => __( 'CMT Engineering', 'cmt' ) )
);
}
add_action( 'init', 'cmt_pattern_categories' );
/*== DISABLE COMMENTS ==*/
add_action('admin_init', function () {
// Redirect any user trying to access comments page
global $pagenow;
if ($pagenow === 'edit-comments.php') {
wp_safe_redirect(admin_url());
exit;
}
// Remove comments metabox from dashboard
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
// Disable support for comments and trackbacks in post types
foreach (get_post_types() as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
});
// Close comments on the front-end
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
// Hide existing comments
add_filter('comments_array', '__return_empty_array', 10, 2);
// Remove comments page in menu
add_action('admin_menu', function () {
remove_menu_page('edit-comments.php');
});
// Remove comments links from admin bar
add_action('init', function () {
if (is_admin_bar_showing()) {
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
}
});
/*== END DISABLE COMMENTS ==*/
/*== ENABLE SVG UPLOADS ==*/
// Allow SVG
add_filter( 'wp_check_filetype_and_ext', function($data, $file, $filename, $mimes) {
global $wp_version;
if ( $wp_version !== '4.7.1' ) {
return $data;
}
$filetype = wp_check_filetype( $filename, $mimes );
return [
'ext' => $filetype['ext'],
'type' => $filetype['type'],
'proper_filename' => $data['proper_filename']
];
}, 10, 4 );
function cc_mime_types( $mimes ){
$mimes['svg'] = 'image/svg+xml';
return $mimes;
}
add_filter( 'upload_mimes', 'cc_mime_types' );
function fix_svg() {
echo '<style type="text/css">
.attachment-266x266, .thumbnail img {
width: 100% !important;
height: auto !important;
}
</style>';
}
add_action( 'admin_head', 'fix_svg' );
/*== END ENABLE SVG UPLOADS ==*/
// remove stock wordpress patterns
function remove_core_patterns() {
remove_theme_support('core-block-patterns');
}
add_action('after_setup_theme', 'remove_core_patterns');