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);