Здеся я буду хранить все изменения что я внес в плагин Easy Property Listings Plugin:

Делая сайт заказчику использовал плагин Property Listings Plugin.

1. Сделал полный перевод плагину

Полный перевод плагина Property Listings Plugin: (Cкачать архив ZIP)

2. Исправления через functions.php

Основные исправления делал через functions.php и поскольку для заказчика использовалась тема StoreFront то все изменения вносил через нее.

2.1. Отключаем поддержку комментариев для всех типов записей

	// Отключаем поддержку комментариев для всех типов записей
	function disable_comments_support() {
		// Отключаем поддержку комментариев для постов
		remove_post_type_support('post', 'comments');
		// Отключаем поддержку комментариев для страниц
		remove_post_type_support('page', 'comments');
		// Отключаем поддержку комментариев для медиафайлов
		remove_post_type_support('attachment', 'comments');
	}
	add_action('init', 'disable_comments_support');

2.2. Скрываем существующие комментарии

	// Скрываем существующие комментарии
	function disable_comments_admin() {
		// Скрываем раздел "Комментарии" в админ-панели
		remove_menu_page('edit-comments.php');
		// Скрываем метабокс с комментариями на странице редактирования записей
		remove_meta_box('commentsdiv', 'post', 'normal');
		remove_meta_box('commentsdiv', 'page', 'normal');
		// Скрываем метабокс с последними комментариями в консоли
		remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
	}
	add_action('admin_menu', 'disable_comments_admin');

2.3. Отключаем комментарии в REST API

Если отключаете комментарии, то отключите их и в REST API, иначе могут спамеры замучать.

	// Отключаем комментарии в REST API
	function disable_comments_rest_api($open, $post_id) {
		return false;
	}
	add_filter('comments_open', 'disable_comments_rest_api', 10, 2);
	add_filter('pings_open', 'disable_comments_rest_api', 10, 2);

	// Удаляем комментарии из шаблонов
	function remove_comments_template() {
		return false;
	}
	add_filter('comments_template', 'remove_comments_template');

2.4. Удаляем подписи под постами

// Удаляем подписи под постами
function remove_author_box() {
	// Удаляем хук, который выводит блок автора
	remove_action('epl_single_author', 'epl_property_author_box');
	remove_action('wpbf_after_article', 'wpbf_author_box');
}
add_action('init', 'remove_author_box');

2.5. Изменение функции плагина easy-property-listings

Кнопка "План помещения" открывала картинку в новом окне, пришлось переписать функцию чтобы открывалась в лайтбокс (lightbox), для этого еще пришлось добавить загрузку magnific_popup и fancybox js script

// Изменение функции плагина easy-property-listings (epl_button_floor_plan() отключаем и включаем свою функцию)
function remove_epl_button_floor_plan() {
	// Отключаем стандартную функцию
	remove_action('epl_buttons_single_property', 'epl_button_floor_plan');
}
add_action('init', 'remove_epl_button_floor_plan');

function _8j0rn_button_floor_plan() {
	// Кастомный код
	$keys = apply_filters( 'epl_floorplan_keys', array( 'property_floorplan', 'property_floorplan_2' ) );

	foreach ( $keys as $key ) {

		$link       = get_post_meta( get_the_ID(), $key, true );
		$count      = 'property_floorplan' === $key ? '' : substr( $key, - 1 );
		$default    = __( 'Floor Plan ', 'easy-property-listings' ) . $count;
		$meta_label = get_post_meta( get_the_ID(), $key . '_label', true );
		$meta_label = empty( $meta_label ) ? $default : $meta_label;

		if ( is_array( $link ) ) { // Fallback if metadata is saved as an array.

			if ( ! empty( $link['image_url_or_path'] ) ) {
				$link = $link['image_url_or_path'];
			} else {
				$link = '';
			}
		}
		if ( ! empty( $link ) && apply_filters( 'epl_show_' . $key, true ) ) { ?>

			<button type="button" class="epl-button epl-floor-plan epl-floor-plan-<?php echo absint( $count ); ?>"
					data-image="<?php echo esc_url( $link ); ?>"
					data-caption="<?php echo esc_attr( $meta_label ); ?>">
				<?php
				$filter_key = str_replace( 'property_', '', $key );
				if ( has_filter( 'epl_button_label_' . $filter_key ) ) {
					$label = apply_filters( 'epl_button_label_' . $filter_key, $meta_label );
				} else {
					$label = apply_filters( 'epl_button_label_floorplan', $meta_label );
				}
				?>
				<?php echo esc_html( $label ); ?>
			</button>
			<?php

		}
	}
}
add_action('epl_buttons_single_property', '_8j0rn_button_floor_plan');