Current File : /home/n742ef5/royalanteam.com/wp-content/themes/myhome-child/functions.php |
<?php
/**
* MyHome Child Theme functions and definitions
*/
// Enqueue parent theme styles
function myhome_child_enqueue_styles() {
wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
wp_enqueue_style('child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style'));
}
add_action('wp_enqueue_scripts', 'myhome_child_enqueue_styles');
// Custom Estate class modifications
class MyHomeChildEstate extends MyHomeCore\Estates\Estate {
public function __construct(\WP_Post $post) {
$this->post = $post;
$this->meta = get_post_meta($post->ID);
$this->prices = new MyHomeCore\Estates\Prices\Prices($this);
$gallery_urls = get_post_meta($post->ID, 'estate_gallery_urls', true);
$this->meta['gallery'] = is_array($gallery_urls) ? $gallery_urls : array();
}
public function get_gallery_data($limit = 0) {
if (empty($this->meta['gallery']) || !is_array($this->meta['gallery'])) {
return array();
}
$gallery_data = array();
$counter = 1;
foreach ($this->meta['gallery'] as $image_url) {
$image = array(
'image' => esc_url($image_url),
'alt' => '',
);
if (!empty($image['image'])) {
$gallery_data[] = $image;
}
if ($limit > 0 && $counter == $limit) {
break;
}
$counter++;
}
return apply_filters('myhome_estate_gallery_data', $gallery_data, $this);
}
}
// Override the original Estate class
function myhome_child_override_estate_class() {
if (class_exists('MyHomeCore\Estates\Estate')) {
class_alias('MyHomeChildEstate', 'MyHomeCore\Estates\Estate');
}
}
add_action('init', 'myhome_child_override_estate_class', 1);