functions.php 6.97 KB
<?php
/**
 * Определение функций темы
 *
 *
 * @package WordPress
 * @subpackage FenixMedicaConsalting
 * @since FenixMedica 1.0
 */

  //Подключаем класс редактор Отрывков
include_once(__DIR__.'/inc/excerpt_rich.php');

//Подключаем шорткод Откройте свою прибыльную клинику
include_once(__DIR__.'/inc/open.php');
//Подключаем шорткод Медицинский бизнес
include_once(__DIR__.'/inc/medbus.php');
//Подключаем шорткод Примеры эффективных
include_once(__DIR__.'/inc/example.php');
//Подключаем шорткод Fenix Medica consulting
include_once(__DIR__.'/inc/consulting.php');
//Подключаем шорткод Феникс Медика консалтинг
include_once(__DIR__.'/inc/fconsulting.php');
//Подключаем шорткод Активно участвуем в образовательной
include_once(__DIR__.'/inc/uchastie.php');
//Подключаем шорткод Медицинский центр под ключ
include_once(__DIR__.'/inc/key.php');
//Подключаем шорткод Вы можете воспользоват
include_once(__DIR__.'/inc/youcan.php');
//Подключаем шорткод 6 основных пунктов открытия клиник
include_once(__DIR__.'/inc/punkts.php');
//Подключаем шорткод Мы на 100% гарантируем
include_once(__DIR__.'/inc/garantii.php');
//Подключаем шорткод Калькулятор
include_once(__DIR__.'/inc/calc.php');

//Подключение русурсок к страние
function action_enqueue_meta() {
	//Подключение меты
	//Стили
	wp_enqueue_style( 'style',					get_stylesheet_uri(), 												array(),	filemtime(__DIR__.'/style.css') );
	wp_enqueue_style( 'bootstrap.min',			get_theme_file_uri('/assets/css/bootstrap/bootstrap.min.css'),		array(),	filemtime(__DIR__.'/assets/css/bootstrap/bootstrap.min.css') );
	//Скрипты
	wp_deregister_script( 'jquery' );
	wp_enqueue_script('jquery.min',				get_theme_file_uri('/assets/js/jquery/jquery.min.js'),				array(),			filemtime(__DIR__.'/assets/js/jquery/jquery.min.js'), true);
	wp_enqueue_script('bootstrap.bundle.min',	get_theme_file_uri('/assets/js/bootstrap/bootstrap.bundle.min.js'),	array(),			filemtime(__DIR__.'/assets/js/bootstrap/bootstrap.bundle.min.js'),	true);
	wp_enqueue_script('jquery.inputmask',		get_theme_file_uri('/assets/js/jquery/jquery.inputmask.min.js'),	array('jquery.min'),filemtime(__DIR__.'/assets/js/jquery/jquery.inputmask.min.js'),	true);
	wp_enqueue_script('script',					get_theme_file_uri('/assets/js/script.js'),							array('jquery.min'),filemtime(__DIR__.'/assets/js/script.js'), 	true);
}
add_action( 'wp_enqueue_scripts', 'action_enqueue_meta' );

//Правим ссылки в меню
function menu_filter_a( $atts, $item, $args, $depth ){
	if ( !isset( $atts['class'] ) )
		$atts['class'] = '';
	if ($item->current || in_array('current-menu-ancestor', $item->classes) )	
		$atts['class'].=($atts['class']===''?'':' ').'active';
	switch($args->theme_location)
		{
			case 'menu_down':
				$atts['class'].= ($atts['class']===''?'':' ').$args->link_class;
			break;
		}
	return $atts;
}
add_filter( 'nav_menu_link_attributes', 'menu_filter_a', 10, 4 );


//Правим пункт в меню
function menu_filter_li( $classes, $item, $args, $depth ){
	switch($args->theme_location)
		{
			case 'menu_down': 
				$classes = array($args->list_item_class);
			break;
		}	
	return $classes;
}
add_filter( 'nav_menu_css_class', 'menu_filter_li', 10, 4 );

//Настройка темы
function action_setup_theme() {
	//Включаем поддержку меню
	add_theme_support( 'menus' );
	//Автоматическая генеция тайтла
	add_theme_support( 'title-tag' );
	//Включение поддержки превью у постов
	add_theme_support( 'post-thumbnails' );
	//Сегрегация по типам поста
	add_theme_support( 'post-formats', array( 'aside' ) );

	register_nav_menus(
		array(
			'menu_down'	=> 'Подвал Меню',
		)
	);
	
	//Включаем визуальный редактор в полях Отрывок
	add_action( 'add_meta_boxes', array ( 'T5_Richtext_Excerpt', 'switch_boxes' ) );
}
add_action( 'after_setup_theme', 'action_setup_theme' );

if ( 
	isset(
		$_POST[ 'author' ], 
		$_POST[ 'phone' ],
		$_POST[ 'comment' ]
	) && 
	$_POST[ 'comment' ] === '' &&
	!empty( $_POST[ 'author' ]) &&
	!empty( $_POST[ 'phone' ])
)
	$_POST[ 'comment' ] =	'Имя: '.$_POST[ 'author' ]."\r\n".
							'Телефон: '.$_POST[ 'phone' ]."\r\n";

function truemisha_verify_comment( $commentdata ) {
	if ( isset($_POST[ 'author' ]) && empty( $_POST[ 'author' ] ) )
		wp_die( 'Укажите Ваше имя!' );
	elseif ( isset($_POST[ 'phone' ]) && empty( $_POST[ 'phone' ] ) ) 
		wp_die( 'Укажите телефон!' );
	elseif ( mb_strlen($_POST[ 'phone' ]) < 18 ) 
		wp_die( 'Укажите правильный телефон!' );
	return $commentdata;
}
add_filter( 'pre_comment_on_post', 'truemisha_verify_comment' );
 

function truemisha_save_comment_field_data( $comment_id ) {
	if( !empty( $_POST['phone'] ) ){
		$phone = sanitize_text_field($_POST['phone']);
		add_comment_meta( $comment_id, 'phone', $phone );
	}
}
add_action( 'comment_post', 'truemisha_save_comment_field_data' );

// Добавляем новый метабокс на страницу редактирования комментария

function extend_comment_add_meta_box(){
	// Отображаем наши поля
	function extend_comment_meta_box( $comment ){
		$phone  = get_comment_meta( $comment->comment_ID, 'phone', true );
		wp_nonce_field( 'extend_comment_update', 'extend_comment_update', false );
		?>
		<p>
			<label for="phone">Телефон</label>
			<input type="text" name="phone" value="<?php echo esc_attr( $phone ); ?>" class="widefat" />
		</p>
		<?php
	}
	add_meta_box( 'wrap', 'Дополнительные поля', 'extend_comment_meta_box', 'comment', 'normal', 'high' );
}
add_action( 'add_meta_boxes_comment', 'extend_comment_add_meta_box' );

function extend_comment_edit_meta_data( $comment_id ) {
	if( 
		! isset( $_POST['extend_comment_update'] ) || 
		! wp_verify_nonce( $_POST['extend_comment_update'], 'extend_comment_update' ) 
	)
		return;

	if( !empty($_POST['phone']) ){
		$phone = sanitize_text_field($_POST['phone']);
		update_comment_meta( $comment_id, 'phone', $phone );
	}
	else
		delete_comment_meta( $comment_id, 'phone');
}
add_action( 'edit_comment', 'extend_comment_edit_meta_data' );


function kama_reorder_comment_fields( $fields ){
	$new_fields = array(); 
	$myorder = array('author','phone'); 

	foreach( $myorder as $key ){
		$new_fields[ $key ] = $fields[ $key ];
		unset( $fields[ $key ] );
	}

	if( $fields )
		foreach( $fields as $key => $val )
			$new_fields[ $key ] = $val;

	return $new_fields;
}
add_filter('comment_form_fields', 'kama_reorder_comment_fields' );