Deconomy Coin List
WordPress plugin for displaying live cryptocurrency coin listings using the CoinMarketCap API.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/mahsakiani/deconomy-coin-list/archive/refs/heads/master.zipA custom WordPress plugin for fetching, storing, and displaying cryptocurrency market data.
Deconomy Coin List was developed while working with OmpFinex as part of a cryptocurrency-focused WordPress project.
The plugin connects to a cryptocurrency market-data API, stores the retrieved data in custom WordPress database tables, periodically updates the stored data, and exposes the coins through a dedicated WordPress Custom Post Type and custom frontend templates.
✨ Features
-
Cryptocurrency price and market data
-
External cryptocurrency API integration
-
Custom WordPress database tables
-
Automated data updates using WordPress Cron
-
Custom Post Type for cryptocurrencies
-
Custom archive and single templates
-
Cached/stored market data instead of requesting the API on every page load
-
Market data including:
-
Price
-
Market capitalization
-
24h volume
-
Daily percentage change
-
Weekly percentage change
-
Exchange and exchange-coin data structures
-
Dedicated frontend CSS and JavaScript
-
WordPress plugin activation/deactivation lifecycle
-
Modular PHP structure
Architecture
The plugin follows a custom WordPress architecture built around several components:
Deconomy Coin List
│
├── deconomy-coin-list.php
│ └── Main plugin bootstrap
│
├── inc/
│ ├── get_coin_data.php
│ ├── get_exchange_data.php
│ ├── get_exchange_coin_data.php
│ └── generateExchange.php
│
├── template/
│ ├── archive-DeconomyCoin.php
│ └── single-DeconomyCoin.php
│
└── assets/
├── style.css
└── script.js
The main plugin class initializes the plugin, registers WordPress hooks, loads dependencies, creates the custom post type, and manages scheduled updates.
🗄️ Custom Database Structure
One of the main technical aspects of this plugin is its use of custom database tables rather than relying only on WordPress post metadata.
Coins
wp_deco_coins
Stores cryptocurrency market information such as:
| Field | Description |
|---|---|
en_name |
Cryptocurrency name |
link |
Coin URL/slug |
symbol |
Trading symbol |
price |
Current price |
market_cap |
Market capitalization |
volume_24h |
24-hour trading volume |
day_change_percent |
Daily percentage change |
week_change_percent |
Weekly percentage change |
last_update |
Last data update |
Exchanges
wp_deco_exchange
Stores exchange-related information including:
- Exchange name
- Slug
- Fee
- Type
- Website
- API URL
- Logo
- Last update
Exchange Coins
wp_deco_exchange_coin
Stores exchange-specific coin information including:
- Symbol
- Bid price
- Ask price
- User bid/ask information
- Exchange volume
- Last update
The plugin creates these tables during activation using WordPress database APIs and dbDelta().
🔄 Data Flow
The basic data flow is:
Cryptocurrency API
│
▼
API Response
│
▼
Data Processing
│
▼
Custom WordPress DB
│
├──────────────┐
▼ ▼
Custom Post Type Frontend Templates
│ │
└───────┬──────┘
▼
Cryptocurrency Pages
Instead of making an external API request every time a visitor loads a page, the plugin stores the market data locally in WordPress database tables.
This provides a more practical architecture for a WordPress site that needs frequently updated market information.
Automated Updates
The plugin uses WordPress Cron to schedule data updates.
The main plugin registers scheduled events for updating:
- Cryptocurrency data
- Exchange data
- Exchange/coin data
This allows the site to periodically refresh its stored market data without requiring a manual update.
The implementation uses WordPress actions such as:
add_action( 'update_api_url_now', ... );
add_action( 'update_echange_data', ... );
and schedules update events through WordPress Cron.
API Integration
The plugin was designed around an external cryptocurrency market-data API.
The original implementation used the CoinMarketCap API endpoint for cryptocurrency listings:
/v1/cryptocurrency/listings/latest
with a configurable listing limit.
The API provides market information that can then be processed and stored locally in the WordPress database.
Security note: API credentials should never be committed to the repository. Configure API credentials through the WordPress environment/configuration rather than hard-coding production secrets.
WordPress Integration
The plugin makes use of several WordPress APIs and mechanisms:
Plugin Lifecycle
register_activation_hook()
register_deactivation_hook()
Database
$wpdb
dbDelta()
Scheduled Tasks
wp_schedule_single_event()
add_action()
Custom Post Type
deconomycoin
Template Integration
Custom archive and single templates are loaded for the cryptocurrency post type.
Frontend Assets
The plugin conditionally loads its CSS and JavaScript on cryptocurrency archive and single pages.
📁 Plugin Structure
deconomy-coin-list/
│
├── assets/
│ ├── style.css
│ └── script.js
│
├── inc/
│ ├── get_coin_data.php
│ ├── get_exchange_data.php
│ ├── get_exchange_coin_data.php
│ └── generateExchange.php
│
├── template/
│ ├── archive-DeconomyCoin.php
│ └── single-DeconomyCoin.php
│
├── deconomy-coin-list.php
└── README.md
Installation
- Download or clone the repository.
git clone https://github.com/mahsakiani/deconomy-coin-list.git
- Move the plugin into:
wp-content/plugins/
- Activate Deconomy Coin List from:
WordPress → Plugins
-
Configure the required cryptocurrency API credentials for your environment.
-
The plugin will create its required database tables during activation and initialize the cryptocurrency data.
⚙️ Requirements
- WordPress
- PHP
- MySQL / MariaDB
- A cryptocurrency market-data API account
- Valid API credentials
💡 Why Custom Database Tables?
Cryptocurrency market data can change frequently.
Storing this information in dedicated database tables makes it possible to:
- Keep frequently accessed market data locally
- Separate market data from standard WordPress content
- Query structured numerical data efficiently
- Reduce unnecessary external API requests
- Build custom cryptocurrency pages and interfaces
- Maintain separate datasets for coins and exchanges
This architecture was particularly useful for a cryptocurrency-focused platform where market data needed to be available inside WordPress.
My Role
WordPress Developer — OmpFinex
I developed this plugin while working with OmpFinex, focusing on the WordPress-side architecture and implementation.
The project involved:
- External API integration
- Custom WordPress plugin architecture
- Custom database design
- Cryptocurrency data processing
- Scheduled data synchronization
- Custom Post Type implementation
- Custom frontend templates
- WordPress hooks and APIs
What This Project Demonstrates
This project demonstrates experience beyond standard WordPress theme development.
WordPress
- Plugin architecture
- Hooks
- Custom Post Types
- Template hierarchy customization
- Plugin lifecycle
- WordPress Cron
Backend
- PHP
$wpdb- Custom database tables
- Data processing
- External API integration
Data
- Structured market data
- Periodic synchronization
- Local data persistence
- Coin and exchange relationships
Frontend
- Custom templates
- Conditional asset loading
- JavaScript
- CSS
Project Status
This repository is a portfolio archive of a project developed during my work with OmpFinex.
The code is provided for demonstration and reference purposes and may reflect the architecture and requirements of the original project at the time it was developed.
It is not intended to be presented as an actively maintained cryptocurrency data service.
📄 License
See the repository for licensing information.
Author
Mahsa Kiani
WordPress Developer specializing in:
- Custom WordPress Themes
- Custom WordPress Plugins
- WooCommerce
- Gutenberg
- ACF
- PHP
- WordPress Performance
🔗 GitHub: https://github.com/mahsakiani
🔗 LinkedIn: https://www.linkedin.com/in/mahskiani