> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.repliers.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to Integrate Listings in WordPress Using The Repliers API

# How to Integrate Listings in WordPress Using The Repliers API

### Introduction

Our REST API allows for the integration of MLS® content into various platforms, including websites, applications, and more. This helpdesk article is specifically designed for WordPress users who have some experience in writing custom PHP server-side code and wish to utilize our API to enhance their sites with real-time MLS® data.
WordPress
### Prerequisites

Before you begin, ensure you meet the following requirements:

* An active subscription or access to our API
* Basic understanding of PHP and WordPress theme or plugin development.
* Access to your WordPress site’s files, either through FTP or a file manager provided by your hosting service.

### Step 1: Set Up a Child Theme

To safely customize your WordPress site, it’s recommended to use a child theme. This prevents updates to the parent theme from overriding your customizations.

* Create a child theme by following WordPress’s guide on child themes.
* Activate the child theme from your WordPress admin panel.

### Step 2: Write a Custom Plugin or Functions File

You can integrate the API directly within your theme, but a more robust and theme-independent approach is to create a custom plugin.

###### Creating a Custom Plugin:

* Navigate to your WordPress plugin directory, usually located at wp-content/plugins.
* Create a new directory for your plugin, e.g., mls-api-integration.
* Inside this directory, create a PHP file, e.g., mls-api-integration.php.
* Open the file and add the following basic plugin header:

```
<?php
/**
* Plugin Name: MLS® API Integration
* Description: Integrates MLS® API data into WordPress.
* Version: 1.0
* Author: Your Name
 */
```
* Below the header, start scripting your API integration logic using PHP.

###### Using Functions.php:

Alternatively, you can add custom code directly to your child theme’s functions.php file. This method is quicker for small projects but less portable than a plugin.

### Step 3: Fetch Data from the API

Using PHP’s wp_remote_get function, you can fetch data from the API. Here's a simple example to get you started:

```
function fetch_mls_data() {
    $response = wp_remote_get('https://api.repliers.io/listings?repliers_api_key=YOUR_API_KEY');
    if (is_wp_error($response)) {
        return 'Error fetching data';
    }
    $body = wp_remote_retrieve_body($response);
    return json_decode($body);
}
```

Add this function to your plugin or functions.php and replace 'YOUR_API_KEY' with the actual API key.

###### Step 4: Display the Data in WordPress

You can display the fetched data by shortcodes, widgets, or directly in theme files. Here’s a quick example of a shortcode implementation in your plugin:

```
function mls_shortcode() {
    $data = fetch_mls_data();
    if (!$data) {
        return 'No data available';
    }
    $output = '<ul>';
    foreach ($data->listings as $item) {
        $output .= '<li>' . esc_html($item->mlsNumber) . '</li>';
    }
    $output .= '</ul>';
    return $output;
}
add_shortcode('display_mls', 'mls_shortcode');
```

Add this code to your plugin file. You can now use the [display_mls] shortcode in your posts and pages to display MLS® data.

### In Closing

Integrating our MLS® API into your WordPress site involves some coding, but with these steps, advanced users can successfully incorporate real-time MLS® data into their sites. This guide provided a basic introduction to creating a custom plugin or using functions.php for API integration. As always, ensure you secure your API keys and test your integration thoroughly.

# What questions does this article answer?

* How can I pull Repliers MLS® listings into a WordPress site?  
* Should I integrate directly in a theme or build a custom plugin, and why?  
* What WordPress/PHP prerequisites do I need (skills, hosting capabilities, etc.)?  
* How do I structure basic API calls from WordPress to Repliers?  
* What are best practices for making the integration theme-independent and maintainable?